]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osd/ReplicatedPG: clear whiteout on successful copy-from
authorSage Weil <sage@inktank.com>
Sun, 22 Dec 2013 07:01:56 +0000 (23:01 -0800)
committerSage Weil <sage@inktank.com>
Sun, 22 Dec 2013 17:49:25 +0000 (09:49 -0800)
Signed-off-by: Sage Weil <sage@inktank.com>
src/osd/ReplicatedPG.cc

index 0380e3ef0097766eba19050df67896167599a6cf..e02044653dee175ae61354526c8dbd379a0f7ddc 100644 (file)
@@ -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<uint64_t> ch;
   if (obs.oi.size > 0)
     ch.insert(0, obs.oi.size);