From: Patrick Donnelly Date: Thu, 4 May 2017 20:59:26 +0000 (-0400) Subject: mds: do not try to export pin special directories X-Git-Tag: v12.0.3~38^2~9 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=3880c6d1e69651faebdc417d35c84693e28004e9;p=ceph.git mds: do not try to export pin special directories Signed-off-by: Patrick Donnelly --- 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; }