From: Samuel Just Date: Tue, 22 Apr 2014 22:12:52 +0000 (-0700) Subject: ReplicatedPG::do_op: don't return ENOENT for whiteout on snapdir read X-Git-Tag: v0.80~20^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=39c1bfc457d03e8cc618d079d72f141dcc1b530d;p=ceph.git ReplicatedPG::do_op: don't return ENOENT for whiteout on snapdir read Signed-off-by: Samuel Just --- diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc index 38fb6ef3bfbc..2a4efdc7d3c3 100644 --- a/src/osd/ReplicatedPG.cc +++ b/src/osd/ReplicatedPG.cc @@ -1528,8 +1528,11 @@ void ReplicatedPG::do_op(OpRequestRef op) reply_ctx(ctx, -ENFILE); return; } - if (!op->may_write() && !op->may_cache() && (!obc->obs.exists || - obc->obs.oi.is_whiteout())) { + if (!op->may_write() && + !op->may_cache() && + (!obc->obs.exists || + ((m->get_snapid() != CEPH_SNAPDIR) && + obc->obs.oi.is_whiteout()))) { reply_ctx(ctx, -ENOENT); return; }