]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
ReplicatedPG::mark_all_unfound_lost: delete local copy if necessary
authorSamuel Just <sam.just@inktank.com>
Thu, 20 Mar 2014 22:42:41 +0000 (15:42 -0700)
committerSamuel Just <sam.just@inktank.com>
Mon, 21 Apr 2014 01:59:21 +0000 (18:59 -0700)
There might be a local copy for an EC pool in the DELETE case.  The replica
copies should be already handled by merge_log.

Fixes: #7439
Signed-off-by: Samuel Just <sam.just@inktank.com>
src/osd/ReplicatedPG.cc

index 64e2f3d04733ebb78ffc3014fe1b20189c69fee1..f99b3070a8bf61b99ede6c2698abc48cd346bff8 100644 (file)
@@ -8892,10 +8892,9 @@ void ReplicatedPG::mark_all_unfound_lost(int what)
        pg_log.add(e);
        dout(10) << e << dendl;
 
-       // delete local copy?  NOT YET!  FIXME
-       if (m->second.have != eversion_t()) {
-         assert(0 == "not implemented.. tho i'm not sure how useful it really would be.");
-       }
+       t->remove(
+         coll,
+         ghobject_t(oid, ghobject_t::NO_GEN, pg_whoami.shard));
        pg_log.missing_rm(m++);
        missing_loc.recovered(oid);
       }