From: Sage Weil Date: Fri, 16 Mar 2012 20:05:54 +0000 (-0700) Subject: osd: ReplicatedPG::create_object_context() X-Git-Tag: v0.44~6 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=58c5d5a0337075ebff82a68aeab87a9cf7c98f55;p=ceph.git osd: ReplicatedPG::create_object_context() New helper that creates a new object context. Signed-off-by: Sage Weil --- diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc index f248fe9b35401..965c9bf6947d3 100644 --- a/src/osd/ReplicatedPG.cc +++ b/src/osd/ReplicatedPG.cc @@ -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) diff --git a/src/osd/ReplicatedPG.h b/src/osd/ReplicatedPG.h index 54a406b4c18ac..b8bc5e1b824be 100644 --- a/src/osd/ReplicatedPG.h +++ b/src/osd/ReplicatedPG.h @@ -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) {