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

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

index c7350d5fb088d423e5f79368d1036561cdc7191d..c7f22bab58b30395bec9ce170cfefaa3f898ab3f 100644 (file)
@@ -2613,14 +2613,6 @@ void CDir::_omap_commit_ops(int r, int op_prio, int64_t metapool, version_t vers
     if (item.is_remote) {
       // remote link
       CDentry::encode_remote(item.ino, item.d_type, item.alternate_name, bl);
-    } else if (item.is_referent_remote) {
-      // marker, name, inode, [symlink string]
-      bl.append('r');         // inode
-
-      ENCODE_START(2, 1, bl);
-      encode(item.alternate_name, bl);
-      _encode_primary_inode_base(item, dfts, bl);
-      ENCODE_FINISH(bl);
     } else {
       // marker, name, inode, [symlink string]
       bl.append('i');         // inode
@@ -2768,27 +2760,6 @@ void CDir::_parse_dentry(CDentry *dn, dentry_commit_item &item,
     item.ino = linkage.get_remote_ino();
     item.d_type = linkage.get_remote_d_type();
     dout(14) << " dn '" << dn->get_name() << "' remote ino " << item.ino << dendl;
-  } else if (linkage.is_referent_remote()) {
-    // referent link
-    item.is_referent_remote = true;
-    item.ino = linkage.get_remote_ino();
-    item.d_type = linkage.get_remote_d_type();
-
-    CInode *in = linkage.get_referent_inode();
-    ceph_assert(in);
-
-    dout(14) << __func__ << " dn '" << dn->get_name() << "' referent inode " << *in << " remote ino " << item.ino << dendl;
-
-    item.features = mdcache->mds->mdsmap->get_up_features();
-    item.inode = in->inode;
-    if (in->inode->is_symlink())
-      item.symlink = in->symlink;
-    using ceph::encode;
-    encode(in->dirfragtree, bl);
-    item.xattrs = in->xattrs;
-    item.old_inodes = in->old_inodes;
-    item.oldest_snap = in->oldest_snap;
-    item.damage_flags = in->damage_flags;
   } else if (linkage.is_primary()) {
     // primary link
     CInode *in = linkage.get_inode();
@@ -2922,23 +2893,6 @@ void CDir::_committed(int r, version_t v)
     CDentry *dn = *p;
     ++p;
     
-    // referent inode
-    if (dn->linkage.is_referent_remote()) {
-      CInode *in = dn->linkage.get_referent_inode();
-      ceph_assert(in);
-      ceph_assert(in->is_auth());
-
-      if (committed_version >= in->get_version()) {
-       if (in->is_dirty()) {
-         dout(15) << __func__ << " referent inode - dir " << committed_version << " >= inode " << in->get_version() << " now clean " << *in << dendl;
-         in->mark_clean();
-       }
-      } else {
-       dout(15) << __func__ << " referent inode - dir " << committed_version << " < inode " << in->get_version() << " still dirty " << *in << dendl;
-       ceph_assert(in->is_dirty() || in->last < CEPH_NOSNAP);  // special case for cow snap items (not predirtied)
-      }
-    }
-
     // inode?
     if (dn->linkage.is_primary()) {
       CInode *in = dn->linkage.get_inode();
index b59567ddac8224da2915f45b9ad3dde69ab86a2a..3d6fc4314480d2af3de696124f92ffdacea6224e 100644 (file)
@@ -65,7 +65,6 @@ public:
     std::string key;
     snapid_t first;
     bool is_remote = false;
-    bool is_referent_remote = false;
 
     inodeno_t ino;
     unsigned char d_type;