]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
Revert "multi-mds/unlink: Unlink referent inode on dentry replicas"
authorVenky Shankar <vshankar@redhat.com>
Tue, 18 Mar 2025 08:58:01 +0000 (08:58 +0000)
committerVenky Shankar <vshankar@redhat.com>
Thu, 12 Feb 2026 04:50:54 +0000 (10:20 +0530)
This reverts commit 42d88f4072f6df16bdff3a36ddcc8d5bf5413824.

Signed-off-by: Venky Shankar <vshankar@redhat.com>
src/mds/MDCache.cc
src/mds/Server.cc

index d986f4baa1820365717a6ba7d67a7579cef3f358..46b699aea10b594b3d1b21783fedcc2e0e0f7e53 100644 (file)
@@ -11632,7 +11632,6 @@ void MDCache::handle_dentry_unlink(const cref_t<MDentryUnlink> &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);
@@ -11661,26 +11660,6 @@ void MDCache::handle_dentry_unlink(const cref_t<MDentryUnlink> &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());
index 05e86bc3b1d85d22aa951695348a83fee40ce323..56753726c1c7aaad54b65f0151eff2743aec564d 100644 (file)
@@ -8217,7 +8217,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);