]> git.apps.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>
Wed, 28 May 2025 04:34:31 +0000 (10:04 +0530)
This reverts commit 42d88f4072f6df16bdff3a36ddcc8d5bf5413824.

Signed-off-by: Venky Shankar <vshankar@redhat.com>
(cherry picked from commit eb4833bcea948a3882e852b1c36247c5addb4c0f)

src/mds/MDCache.cc
src/mds/Server.cc

index e48c81f9be237b65a04b2010247711f4226473df..324204d5f1b1de74deb1fd7ff577afdaa120c8eb 100644 (file)
@@ -11610,7 +11610,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);
@@ -11639,26 +11638,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 b4d16cc3b797944ed31e6a57f240597617a7c45a..d3f14aea2ae5445836f57adb08fb8b23723d24b5 100644 (file)
@@ -8062,7 +8062,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);