]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.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>
Fri, 20 Mar 2026 07:25:14 +0000 (12:55 +0530)
This reverts commit 42d88f4072f6df16bdff3a36ddcc8d5bf5413824.

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

index 0118604bffccbeb85872eceb8127b046aa9b8e28..161c7927bfaca7b811016d8192550e805425a5fb 100644 (file)
@@ -11656,7 +11656,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);
@@ -11685,26 +11684,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 46470dbbbc7523da9c830214a167f80530e831e6..23c2ba28123063aa7e92c82606ce924c657b8721 100644 (file)
@@ -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);