From bb5ebd395f0831fd6d02d514ea1ec14f6bddbc9f Mon Sep 17 00:00:00 2001 From: "Yan, Zheng" Date: Fri, 7 Aug 2020 23:58:19 +0800 Subject: [PATCH] mds: distribute dirfrags for ephemeral distributed directory Instead of distribute individual dir inodes inside the ephemeral distributed dir. Distributing dirfrags can limit number of subtrees created by the ephemeral dist pin. This patch also unifies codes that handle export pin and ephemeral pin. Fixes: https://tracker.ceph.com/issues/46696 Signed-off-by: "Yan, Zheng" --- src/common/options.cc | 6 + src/mds/CDir.cc | 36 ++++- src/mds/CDir.h | 8 +- src/mds/CInode.cc | 324 +++++++++++++++++------------------------- src/mds/CInode.h | 21 +-- src/mds/MDBalancer.cc | 110 +++++++++----- src/mds/MDCache.cc | 79 +++++----- src/mds/MDCache.h | 9 +- src/mds/MDSRank.cc | 12 +- src/mds/Migrator.cc | 3 +- src/mds/Server.cc | 3 +- src/mds/journal.cc | 4 +- src/mds/mdstypes.h | 4 +- 13 files changed, 304 insertions(+), 315 deletions(-) diff --git a/src/common/options.cc b/src/common/options.cc index 5ff3093996853..ee79029e9730d 100644 --- a/src/common/options.cc +++ b/src/common/options.cc @@ -8113,6 +8113,12 @@ std::vector