]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: implement ReplicatedPG::_lookup_object_context
authorSage Weil <sage.weil@dreamhost.com>
Fri, 2 Dec 2011 05:01:40 +0000 (21:01 -0800)
committerSamuel Just <samuel.just@dreamhost.com>
Wed, 14 Dec 2011 19:31:32 +0000 (11:31 -0800)
Look up an existing ObjectContext without taking a reference.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
src/osd/ReplicatedPG.cc
src/osd/ReplicatedPG.h

index 0089769aaec0a4fa38a1ea8a8431947678e8b346..54d7a92c23b11f8a996ac61a5cbf7b1029d91670 100644 (file)
@@ -3085,6 +3085,14 @@ void ReplicatedPG::handle_watch_timeout(void *_obc,
   eval_repop(repop);
 }
 
+ReplicatedPG::ObjectContext *ReplicatedPG::_lookup_object_context(const hobject_t& oid)
+{
+  map<hobject_t, ObjectContext*>::iterator p = object_contexts.find(oid);
+  if (p != object_contexts.end())
+    return p->second;
+  return NULL;
+}
+
 ReplicatedPG::ObjectContext *ReplicatedPG::get_object_context(const hobject_t& soid,
                                                              const object_locator_t& oloc,
                                                              bool can_create)
index 3077ddb2eaedf7c69ba011045464f4c7dc8ac5e0..e5e456fbf7a5fff745a7706daa4fa62867d76fa1 100644 (file)
@@ -504,6 +504,7 @@ protected:
     }
     return NULL;
   }
+  ObjectContext *_lookup_object_context(const hobject_t& oid);
   ObjectContext *get_object_context(const hobject_t& soid, const object_locator_t& oloc,
                                    bool can_create);
   void register_object_context(ObjectContext *obc) {