]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
Revert "multi-mds/link: Send referent inode to dentry_replicas"
authorVenky Shankar <vshankar@redhat.com>
Tue, 18 Mar 2025 09:01:28 +0000 (09:01 +0000)
committerVenky Shankar <vshankar@redhat.com>
Thu, 12 Feb 2026 04:50:54 +0000 (10:20 +0530)
This reverts commit d7d294e3687368f1bcf5207c04b13514a5bbc5fd.

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

index 46b699aea10b594b3d1b21783fedcc2e0e0f7e53..6cb3e4ac7ffcbd633a2505499ff518e399d23cfd 100644 (file)
@@ -11463,13 +11463,11 @@ void MDCache::handle_dir_update(const cref_t<MDirUpdate> &m)
 
 void MDCache::encode_remote_dentry_link(CDentry::linkage_t *dnl, bufferlist& bl)
 {
-  ENCODE_START(2, 1, bl);
+  ENCODE_START(1, 1, bl);
   inodeno_t ino = dnl->get_remote_ino();
   encode(ino, bl);
   __u8 d_type = dnl->get_remote_d_type();
   encode(d_type, bl);
-  inodeno_t referent_ino = dnl->get_referent_ino();
-  encode(referent_ino, bl);
   ENCODE_FINISH(bl);
 }
 
@@ -11481,14 +11479,7 @@ void MDCache::decode_remote_dentry_link(CDir *dir, CDentry *dn, bufferlist::cons
   decode(ino, p);
   decode(d_type, p);
   dout(10) << __func__ << "  remote " << ino << " " << d_type << dendl;
-  inodeno_t referent_ino;
-  if (struct_v >= 2) {
-    decode(referent_ino, p);
-  }
-  if (referent_ino > 0)
-    dir->link_null_referent_inode(dn, referent_ino, ino, d_type);
-  else
-    dir->link_remote_inode(dn, ino, d_type);
+  dir->link_remote_inode(dn, ino, d_type);
   DECODE_FINISH(p);
 }
 
@@ -11517,11 +11508,6 @@ void MDCache::send_dentry_link(CDentry *dn, const MDRequestRef& mdr)
                      mds->mdsmap->get_up_features());
     } else if (dnl->is_remote()) {
       encode_remote_dentry_link(dnl, m->bl);
-    } else if (dnl->is_referent_remote()) {
-      dout(10) << __func__ << "  referent remote " << *dnl->get_referent_inode() << dendl;
-      encode_remote_dentry_link(dnl, m->bl);
-      encode_replica_inode(dnl->get_referent_inode(), p.first, m->bl,
-                     mds->mdsmap->get_up_features());
     } else
       ceph_abort();   // aie, bad caller!
     mds->send_message_mds(m, p.first);
@@ -11550,16 +11536,13 @@ void MDCache::handle_dentry_link(const cref_t<MDentryLink> &m)
   auto p = m->bl.cbegin();
   MDSContext::vec finished;
   if (dn) {
-    CInode *in = nullptr;
     if (m->get_is_primary()) {
       // primary link.
+      CInode *in = nullptr;
       decode_replica_inode(in, p, dn, finished);
     } else {
       // remote link, easy enough.
       decode_remote_dentry_link(dir, dn, p);
-      // decode referent inode and link it, only if it's referent
-      if (dn->get_linkage()->get_referent_ino() > 0)
-        decode_replica_inode(in, p, dn, finished);
     }
   } else {
     ceph_abort();