From: Sage Weil Date: Sun, 22 Dec 2013 07:01:56 +0000 (-0800) Subject: osd/ReplicatedPG: clear whiteout on successful copy-from X-Git-Tag: v0.75~45^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=750da11ad2249ea0fb309b54ffe9575ac1f38d3a;p=ceph.git osd/ReplicatedPG: clear whiteout on successful copy-from Signed-off-by: Sage Weil --- diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc index 0380e3ef0097..e02044653dee 100644 --- a/src/osd/ReplicatedPG.cc +++ b/src/osd/ReplicatedPG.cc @@ -4860,6 +4860,13 @@ void ReplicatedPG::finish_copyfrom(OpContext *ctx) // CopyFromCallback fills this in for us obs.oi.user_version = ctx->user_at_version; + // cache: clear whiteout? + if (obs.oi.is_whiteout()) { + dout(10) << __func__ << " clearing whiteout on " << obs.oi.soid << dendl; + obs.oi.clear_flag(object_info_t::FLAG_WHITEOUT); + --ctx->delta_stats.num_whiteouts; + } + interval_set ch; if (obs.oi.size > 0) ch.insert(0, obs.oi.size);