]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: fix PG::IndexLog unindex()
authorSage Weil <sage@newdream.net>
Wed, 27 May 2009 19:07:07 +0000 (12:07 -0700)
committerSage Weil <sage@newdream.net>
Wed, 27 May 2009 19:07:07 +0000 (12:07 -0700)
The REMOVE entries won't be in the objects map.

src/osd/PG.h

index e4a0272ca31b677bab0c8e910ed91312b98b8ad7..c99770339301a3a92473073ba96d3795a7b4ec63 100644 (file)
@@ -341,8 +341,8 @@ public:
     }
     void unindex(Entry& e) {
       // NOTE: this only works if we remove from the _bottom_ of the log!
-      assert(objects.count(e.soid));
-      if (objects[e.soid]->version == e.version)
+      assert(caller_ops.count(e.reqid));
+      if (objects.count(e.soid) && objects[e.soid]->version == e.version)
         objects.erase(e.soid);
       caller_ops.erase(e.reqid);
     }