From: Venky Shankar Date: Tue, 18 Mar 2025 09:02:13 +0000 (+0000) Subject: Revert "mds: Handle referent inode while trimming the dentry" X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=10917fced943aec36cf2ddb0c4dd0f82f9329f16;p=ceph.git Revert "mds: Handle referent inode while trimming the dentry" This reverts commit dafc07cb816cb3602d2869cc218e7350088b5913. Signed-off-by: Venky Shankar --- diff --git a/src/mds/MDCache.cc b/src/mds/MDCache.cc index 34dc97004254..7d118905531f 100644 --- a/src/mds/MDCache.cc +++ b/src/mds/MDCache.cc @@ -7169,12 +7169,6 @@ bool MDCache::trim_dentry(CDentry *dn, expiremap& expiremap) if (dnl->is_remote()) { // just unlink. dir->unlink_inode(dn, false); - } else if (dnl->is_referent_remote()) { - // expire the referent inode too. - CInode *ref_in = dnl->get_referent_inode(); - ceph_assert(ref_in); - if (trim_inode(dn, ref_in, con, expiremap)) - return true; // purging stray instead of trimming } else if (dnl->is_primary()) { // expire the inode, too. CInode *in = dnl->get_inode(); @@ -7393,8 +7387,7 @@ void MDCache::trim_non_auth() // add back into lru (at the top) auth_list.push_back(dn); - if ((dnl->is_remote() || dnl->is_referent_remote()) && - dnl->get_inode() && !dnl->get_inode()->is_auth()) + if (dnl->is_remote() && dnl->get_inode() && !dnl->get_inode()->is_auth()) dn->unlink_remote(dnl); } else { // non-auth. expire. @@ -7406,15 +7399,9 @@ void MDCache::trim_non_auth() if (dnl->is_remote()) { dir->unlink_inode(dn, false); } - else if (dnl->is_primary() || dnl->is_referent_remote()) { - CInode *in = nullptr; - if (dnl->is_referent_remote()) { - in = dnl->get_referent_inode(); - dout(10) << __func__ << " removing referent inode " << *in << dendl; - } else { - in = dnl->get_inode(); - dout(10) << __func__ << " removing inode " << *in << dendl; - } + else if (dnl->is_primary()) { + CInode *in = dnl->get_inode(); + dout(10) << " removing " << *in << dendl; auto&& ls = in->get_dirfrags(); for (const auto& subdir : ls) { ceph_assert(!subdir->is_subtree_root()); @@ -7534,16 +7521,8 @@ bool MDCache::trim_non_auth_subtree(CDir *dir) dout(20) << "trim_non_auth_subtree(" << dir << ") keeping dentry " << dn <is_remote() || dnl->is_referent_remote()) { + if (dnl->is_remote()) dir->unlink_inode(dn, false); - if (dnl->is_referent_remote()) { - // remove referent inode - CInode *ref_in = dnl->get_referent_inode(); - dout(20) << __func__ << " removing referent inode " << ref_in << dendl; - remove_inode(ref_in); - ceph_assert(!dir->has_bloom()); - } - } dir->remove_dentry(dn); } }