]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: generate_backlog sanity check
authorSage Weil <sage@newdream.net>
Fri, 5 Dec 2008 19:48:27 +0000 (11:48 -0800)
committerSage Weil <sage@newdream.net>
Fri, 5 Dec 2008 19:48:27 +0000 (11:48 -0800)
If item is on disk and log, then log entry shouldn't be a delete.

src/osd/PG.cc

index 98dafd8fd23adc37341eb7692612357d5bf8cf4b..d0ecf6c84273d3e5cd94265de762603fc72240e8 100644 (file)
@@ -547,8 +547,10 @@ void PG::generate_backlog()
      */
     eversion_t version;
     if (log.objects.count(poid.oid)) {
+      Log::Entry *e = log.objects[poid.oid];
+      assert(!e->is_delete());  // if it's a deletion, we are corrupt..
       // note the prior version
-      version = log.objects[poid.oid]->prior_version;
+      version = e->prior_version;
       if (version == eversion_t() ||  // either new object, or
          version >= log.bottom)      // prior_version also already in log
        continue;   // already have it logged.