From: Yan, Zheng Date: Wed, 25 Jan 2017 03:03:45 +0000 (+0800) Subject: mds: skip fragment space check for replayed request X-Git-Tag: v12.0.0~72^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=afe889cbc5baab196567c2aad01f49fe90901fda;p=ceph.git mds: skip fragment space check for replayed request when handling replayed request, stray directory can be different from the stray directory used by the original request. The fragment space check for stray directory can fail. Fixes: http://tracker.ceph.com/issues/18660 Signed-off-by: "Yan, Zheng" --- diff --git a/src/mds/Server.cc b/src/mds/Server.cc index 5bdf3a41b085..20c6be63a549 100644 --- a/src/mds/Server.cc +++ b/src/mds/Server.cc @@ -2289,7 +2289,8 @@ CDentry* Server::prepare_stray_dentry(MDRequestRef& mdr, CInode *in) CDir *straydir = mdcache->get_stray_dir(in); - if (!check_fragment_space(mdr, straydir)) + if (!mdr->client_request->is_replay() && + !check_fragment_space(mdr, straydir)) return NULL; straydn = mdcache->get_or_create_stray_dentry(in);