From 3880c6d1e69651faebdc417d35c84693e28004e9 Mon Sep 17 00:00:00 2001 From: Patrick Donnelly Date: Thu, 4 May 2017 16:59:26 -0400 Subject: [PATCH] mds: do not try to export pin special directories Signed-off-by: Patrick Donnelly --- src/mds/CInode.cc | 2 +- src/mds/CInode.h | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/mds/CInode.cc b/src/mds/CInode.cc index 9a68bf118840..4566d7885c7f 100644 --- a/src/mds/CInode.cc +++ b/src/mds/CInode.cc @@ -4416,7 +4416,7 @@ private: void CInode::maybe_export_pin() { - if (g_conf->mds_bal_export_pin && is_dir()) { + if (g_conf->mds_bal_export_pin && is_dir() && is_normal()) { dout(20) << "maybe_export_pin " << *this << dendl; mds_rank_t pin = get_projected_inode()->export_pin; if (pin == mdcache->mds->get_nodeid()) { diff --git a/src/mds/CInode.h b/src/mds/CInode.h index 05659df80c2b..843dedebf904 100644 --- a/src/mds/CInode.h +++ b/src/mds/CInode.h @@ -704,6 +704,7 @@ public: bool is_mdsdir() const { return MDS_INO_IS_MDSDIR(inode.ino); } bool is_base() const { return is_root() || is_mdsdir(); } bool is_system() const { return inode.ino < MDS_INO_SYSTEM_BASE; } + bool is_normal() const { return !(is_base() || is_system() || is_stray()); } bool is_head() const { return last == CEPH_NOSNAP; } -- 2.47.3