]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: don't index BACKLOG caller_ops
authorSage Weil <sage@newdream.net>
Wed, 3 Jun 2009 23:45:47 +0000 (16:45 -0700)
committerSage Weil <sage@newdream.net>
Wed, 3 Jun 2009 23:45:47 +0000 (16:45 -0700)
src/osd/PG.h

index 893771b7cf2ad395920403888d0446b034289eea..df34f80320dbf9cfb62cb65a9d8aa0c00655db5f 100644 (file)
@@ -333,7 +333,8 @@ public:
       if (objects.count(e.soid) == 0 || 
           objects[e.soid]->version < e.version)
         objects[e.soid] = &e;
-      caller_ops.insert(e.reqid);
+      if (e.op != Entry::BACKLOG)
+       caller_ops.insert(e.reqid);
     }
     void unindex() {
       objects.clear();
@@ -341,7 +342,7 @@ public:
     }
     void unindex(Entry& e) {
       // NOTE: this only works if we remove from the _bottom_ of the log!
-      assert(caller_ops.count(e.reqid));
+      assert(e.op == Entry::BACKLOG || 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);