]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: ReplicatedPG::create_object_context()
authorSage Weil <sage@newdream.net>
Fri, 16 Mar 2012 20:05:54 +0000 (13:05 -0700)
committerSage Weil <sage@newdream.net>
Fri, 16 Mar 2012 20:30:51 +0000 (13:30 -0700)
New helper that creates a new object context.

Signed-off-by: Sage Weil <sage@newdream.net>
src/osd/ReplicatedPG.cc
src/osd/ReplicatedPG.h

index f248fe9b354012b76c6ffb8d1ee1ac191db288f8..965c9bf6947d3ef5a22eb06c2c175bb094e3da4d 100644 (file)
@@ -3733,6 +3733,17 @@ ReplicatedPG::ObjectContext *ReplicatedPG::_lookup_object_context(const hobject_
   return NULL;
 }
 
+ReplicatedPG::ObjectContext *ReplicatedPG::create_object_context(const object_info_t& oi,
+                                                                SnapSetContext *ssc)
+{
+  ObjectContext *obc = new ObjectContext(oi, false, ssc);
+  dout(10) << "create_object_context " << obc << " " << oi.soid << " " << obc->ref << dendl;
+  register_object_context(obc);
+  populate_obc_watchers(obc);
+  obc->ref++;
+  return obc;
+}
+
 ReplicatedPG::ObjectContext *ReplicatedPG::get_object_context(const hobject_t& soid,
                                                              const object_locator_t& oloc,
                                                              bool can_create)
index 54a406b4c18ac264b14e5f67052a974f5e24ab46..b8bc5e1b824be34f75fd54ed120a9498f4721d58 100644 (file)
@@ -510,6 +510,7 @@ protected:
     return NULL;
   }
   ObjectContext *_lookup_object_context(const hobject_t& oid);
+  ObjectContext *create_object_context(const object_info_t& oi, SnapSetContext *ssc);
   ObjectContext *get_object_context(const hobject_t& soid, const object_locator_t& oloc,
                                    bool can_create);
   void register_object_context(ObjectContext *obc) {