Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
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()) {
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; }