From: Yan, Zheng Date: Wed, 13 Sep 2017 07:55:46 +0000 (+0800) Subject: mds: optimize MDCache::rejoin_scour_survivor_replicas() X-Git-Tag: v12.2.1~30^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F17711%2Fhead;p=ceph.git mds: optimize MDCache::rejoin_scour_survivor_replicas() avoid iterating dentries if dirfrag is non-auth Signed-off-by: "Yan, Zheng" (cherry picked from commit d32a2376047bc1363b9f7a2ed09060ec84c78b97) --- diff --git a/src/mds/MDCache.cc b/src/mds/MDCache.cc index 9c718d459aed..c3a29e56efa4 100644 --- a/src/mds/MDCache.cc +++ b/src/mds/MDCache.cc @@ -4560,9 +4560,10 @@ void MDCache::rejoin_scour_survivor_replicas(mds_rank_t from, MMDSCacheRejoin *a p != dfs.end(); ++p) { CDir *dir = *p; + if (!dir->is_auth()) + continue; - if (dir->is_auth() && - dir->is_replica(from) && + if (dir->is_replica(from) && (ack == NULL || ack->strong_dirfrags.count(dir->dirfrag()) == 0)) { dir->remove_replica(from); dout(10) << " rem " << *dir << dendl;