From: Samuel Just Date: Thu, 20 Mar 2014 22:42:41 +0000 (-0700) Subject: ReplicatedPG::mark_all_unfound_lost: delete local copy if necessary X-Git-Tag: v0.80~23^2~3 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=95d0278dcfebf77f8548ab7683ce7420302a0443;p=ceph.git ReplicatedPG::mark_all_unfound_lost: delete local copy if necessary 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 --- diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc index 64e2f3d04733..f99b3070a8bf 100644 --- a/src/osd/ReplicatedPG.cc +++ b/src/osd/ReplicatedPG.cc @@ -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); }