]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osd/PGLog.h: handle lost+delete entries the same as client deletes
authorJosh Durgin <jdurgin@redhat.com>
Sat, 24 Jun 2017 00:33:45 +0000 (20:33 -0400)
committerJosh Durgin <jdurgin@redhat.com>
Mon, 17 Jul 2017 06:00:36 +0000 (02:00 -0400)
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
src/osd/PGLog.h

index b637dcda01e4267972542b6bb2c0206533bbeac8..42e06cf455aa6cabf3a6ace3329fc863d316b98d 100644 (file)
@@ -799,7 +799,7 @@ protected:
       assert(objiter->second->version > last_divergent_update);
 
       // ensure missing has been updated appropriately
-      if (objiter->second->is_update() || objiter->second->is_client_delete()) {
+      if (objiter->second->is_update() || objiter->second->is_delete()) {
        assert(missing.is_missing(hoid) &&
               missing.get_items().at(hoid).need == objiter->second->version);
       } else {
@@ -1008,14 +1008,6 @@ public:
       if (p->soid <= last_backfill &&
          !p->is_error()) {
        missing.add_next_event(*p);
-       if (rollbacker) {
-         // hack to match PG::mark_all_unfound_lost
-         if (maintain_rollback && p->is_lost_delete() && p->can_rollback()) {
-           rollbacker->try_stash(p->soid, p->version.version);
-         } else if (p->is_lost_delete()) {
-           rollbacker->remove(p->soid);
-         }
-       }
       }
     }
     return invalidate_stats;
@@ -1207,9 +1199,6 @@ public:
          if (did.count(i->soid)) continue;
          did.insert(i->soid);
 
-         // TODO: enable only if we aren't tracking deletes in the log
-         if (i->is_lost_delete()) continue;
-
          bufferlist bv;
          int r = store->getattr(
            pg_coll,