From 0c45d6837f68a41107aa6d8f3747c6905e4f9e50 Mon Sep 17 00:00:00 2001 From: Venky Shankar Date: Tue, 18 Mar 2025 09:02:13 +0000 Subject: [PATCH] Revert "mds: Handle referent inode while trimming the dentry" This reverts commit dafc07cb816cb3602d2869cc218e7350088b5913. Signed-off-by: Venky Shankar (cherry picked from commit 249ae38c7baca9d694119204edb633024ecdad56) --- src/mds/MDCache.cc | 31 +++++-------------------------- 1 file changed, 5 insertions(+), 26 deletions(-) diff --git a/src/mds/MDCache.cc b/src/mds/MDCache.cc index 927e80acb35..7f6ae7ee01b 100644 --- a/src/mds/MDCache.cc +++ b/src/mds/MDCache.cc @@ -7128,12 +7128,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(); @@ -7352,8 +7346,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. @@ -7365,15 +7358,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()); @@ -7493,16 +7480,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); } } -- 2.39.5