From: Yan, Zheng Date: Thu, 19 Jan 2017 07:24:54 +0000 (+0800) Subject: mds: add authority check for delay dirfrag split X-Git-Tag: v12.0.0~135^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F12994%2Fhead;p=ceph.git mds: add authority check for delay dirfrag split the dirfrag can be migareted to other mds while waiting in the timer. Fixes: http://tracker.ceph.com/issues/18487 Signed-off-by: "Yan, Zheng" --- diff --git a/src/mds/MDBalancer.cc b/src/mds/MDBalancer.cc index e16c40964eb5b..f3df8f1d2d2ec 100644 --- a/src/mds/MDBalancer.cc +++ b/src/mds/MDBalancer.cc @@ -400,6 +400,10 @@ void MDBalancer::queue_split(const CDir *dir, bool fast) dout(10) << "drop split on " << frag << " because not in cache" << dendl; return; } + if (!split_dir->is_auth()) { + dout(10) << "drop split on " << frag << " because non-auth" << dendl; + return; + } // Pass on to MDCache: note that the split might still not // happen if the checks in MDCache::can_fragment fail.