From: Venky Shankar Date: Tue, 18 Mar 2025 08:58:01 +0000 (+0000) Subject: Revert "multi-mds/unlink: Unlink referent inode on dentry replicas" X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=1b18af00643c0d83d842bd21e2112a51af6f7696;p=ceph.git Revert "multi-mds/unlink: Unlink referent inode on dentry replicas" This reverts commit 42d88f4072f6df16bdff3a36ddcc8d5bf5413824. Signed-off-by: Venky Shankar --- diff --git a/src/mds/MDCache.cc b/src/mds/MDCache.cc index 0118604bffcc..161c7927bfac 100644 --- a/src/mds/MDCache.cc +++ b/src/mds/MDCache.cc @@ -11656,7 +11656,6 @@ void MDCache::handle_dentry_unlink(const cref_t &m) // open inode? if (dnl->is_primary()) { - dout(7) << __func__ << " primary dentry " << *dn << dendl; CInode *in = dnl->get_inode(); dn->dir->unlink_inode(dn); ceph_assert(straydn); @@ -11685,26 +11684,6 @@ void MDCache::handle_dentry_unlink(const cref_t &m) migrator->export_caps(in); straydn = NULL; - } else if (dnl->is_referent_remote()) { - dout(7) << __func__ << " remote referent dentry " << *dn << dendl; - CInode *ref_in = dnl->get_referent_inode(); - dn->dir->unlink_inode(dn); - ceph_assert(straydn); - straydn->dir->link_primary_inode(straydn, ref_in); - - // ref_in->first is lazily updated on replica; drag it forward so - // that we always keep it in sync with the dnq - ceph_assert(straydn->first >= ref_in->first); - ref_in->first = straydn->first; - - //No snapshots on referent - ignore snaprealm invalidate - - // send caps to auth (if we're not already) - if (ref_in->is_any_caps() && - !ref_in->state_test(CInode::STATE_EXPORTINGCAPS)) - migrator->export_caps(ref_in); - - straydn = nullptr; } else { ceph_assert(!straydn); ceph_assert(dnl->is_remote()); diff --git a/src/mds/Server.cc b/src/mds/Server.cc index 46470dbbbc75..23c2ba281230 100644 --- a/src/mds/Server.cc +++ b/src/mds/Server.cc @@ -8219,7 +8219,7 @@ void Server::_link_remote_finish(const MDRequestRef& mdr, bool inc, if (inc) mdcache->send_dentry_link(dn, null_ref); else - mdcache->send_dentry_unlink(dn, straydn ? straydn : nullptr, null_ref); + mdcache->send_dentry_unlink(dn, NULL, null_ref); // bump target popularity mds->balancer->hit_inode(targeti, META_POP_IWR);