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 5bdf3a41b08..20c6be63a54 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);