]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
Revert "tools/cephfs-journal-tool: Recover referent hardlink dentry"
authorVenky Shankar <vshankar@redhat.com>
Tue, 18 Mar 2025 08:55:46 +0000 (08:55 +0000)
committerVenky Shankar <vshankar@redhat.com>
Fri, 20 Mar 2026 07:25:14 +0000 (12:55 +0530)
This reverts commit f6f460c14920211535b04fc009ea5b212ee49f8e.

Signed-off-by: Venky Shankar <vshankar@redhat.com>
src/tools/cephfs/JournalTool.cc
src/tools/cephfs/JournalTool.h

index b9934e3b804582fd1945b52542e9251b3870f64f..9d99b5f5feca79d4b2657b3c86854ae7dd813b67 100644 (file)
@@ -966,12 +966,6 @@ int JournalTool::recover_dentries(
                << "' with lump fnode version " << lump.fnode->version
                << "vs existing fnode version " << old_fnode_version << dendl;
           write_dentry = old_fnode_version < lump.fnode->version;
-       } else if (dentry_type == 'R' || dentry_type == 'r') {
-          dout(10) << "Existing hardlink referent full inode in slot to be (maybe) "
-               << "written by a remote inode from the journal dn '" << rb.dn.c_str()
-               << "' with lump fnode version " << lump.fnode->version
-               << "vs existing fnode version " << old_fnode_version << dendl;
-          write_dentry = old_fnode_version < lump.fnode->version;
         } else if (dentry_type == 'I' || dentry_type == 'i') {
           dout(10) << "Existing full inode in slot to be (maybe) written "
                << "by a remote inode from the journal dn '" << rb.dn.c_str()
@@ -986,46 +980,22 @@ int JournalTool::recover_dentries(
       }
 
       if ((other_pool || write_dentry) && !dry_run) {
-        dout(4) << "writing r|l (referent|just remote) dentry " << key
-         << " into frag " << frag_oid.name << " rb.referent_ino "
-          << rb.referent_ino << " referent_inode " << rb.referent_inode
-         << "rb.ino " << rb.ino << dendl;
-
-       if (rb.referent_ino != 0) {
-          dout(4) << "writing 'r' (referent remote) dentry " << key
-           << " into frag " << frag_oid.name << dendl;
-
-          // Compose: Dentry format is dnfirst, r, alternate_name, InodeStore
-          bufferlist dentry_bl;
-          encode(rb.dnfirst, dentry_bl);
-          encode('r', dentry_bl);
-          ENCODE_START(2, 1, dentry_bl);
-          encode(rb.alternate_name, dentry_bl);
-         encode_remotebit_as_referent_inode(rb, &dentry_bl);
-          ENCODE_FINISH(dentry_bl);
-
-          // Record for writing to RADOS
-          write_vals[key] = dentry_bl;
-          consumed_inos->insert(rb.referent_ino);
-          consumed_inos->insert(rb.ino);
-       } else {
-          dout(4) << "writing l dentry " << key << " into frag "
-            << frag_oid.name << dendl;
-
-          // Compose: Dentry format is dnfirst, l, ino, d_type, alternate_name
-          bufferlist dentry_bl;
-          encode(rb.dnfirst, dentry_bl);
-          encode('l', dentry_bl);
-          ENCODE_START(2, 1, dentry_bl);
-          encode(rb.ino, dentry_bl);
-          encode(rb.d_type, dentry_bl);
-          encode(rb.alternate_name, dentry_bl);
-          ENCODE_FINISH(dentry_bl);
-
-          // Record for writing to RADOS
-          write_vals[key] = dentry_bl;
-          consumed_inos->insert(rb.ino);
-       }
+        dout(4) << "writing L dentry " << key << " into frag "
+          << frag_oid.name << dendl;
+
+        // Compose: Dentry format is dnfirst, [I|L], ino, d_type, alternate_name
+        bufferlist dentry_bl;
+        encode(rb.dnfirst, dentry_bl);
+        encode('l', dentry_bl);
+        ENCODE_START(2, 1, dentry_bl);
+        encode(rb.ino, dentry_bl);
+        encode(rb.d_type, dentry_bl);
+        encode(rb.alternate_name, dentry_bl);
+        ENCODE_FINISH(dentry_bl);
+
+        // Record for writing to RADOS
+        write_vals[key] = dentry_bl;
+        consumed_inos->insert(rb.ino);
       }
     }
 
@@ -1276,20 +1246,6 @@ void JournalTool::encode_fullbit_as_inode(
   new_inode.encode(*out_bl, CEPH_FEATURES_SUPPORTED_DEFAULT);
 }
 
-void JournalTool::encode_remotebit_as_referent_inode(
-  const EMetaBlob::remotebit &rb,
-  bufferlist *out_bl)
-{
-  ceph_assert(out_bl != NULL);
-
-  // Compose InodeStore
-  InodeStore new_inode;
-  new_inode.inode = rb.referent_inode;
-
-  // Serialize InodeStore
-  new_inode.encode(*out_bl, CEPH_FEATURES_SUPPORTED_DEFAULT);
-}
-
 /**
  * Given a list of inode numbers known to be in use by
  * inodes in the backing store, ensure that none of these
index f144b94a639576267ce7cf5679c495cabbd177d3..1db10920acef8ce0b19e4d3d620a6a45d4c38b0c 100644 (file)
@@ -81,9 +81,6 @@ class JournalTool : public MDSUtility
     void encode_fullbit_as_inode(
         const EMetaBlob::fullbit &fb,
         bufferlist *out_bl);
-    void encode_remotebit_as_referent_inode(
-        const EMetaBlob::remotebit &rb,
-        bufferlist *out_bl);
     int consume_inos(const std::set<inodeno_t> &inos);
 
     //validate type