From: Venky Shankar Date: Tue, 18 Mar 2025 09:02:08 +0000 (+0000) Subject: Revert "mds/migration: Handle referent inode during subtree migration" X-Git-Tag: testing/wip-vshankar-testing-20250623.033253-tentacle-debug~1^2~12 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=823da333fd90f8f18a70526d0916ab075f91ac1f;p=ceph-ci.git Revert "mds/migration: Handle referent inode during subtree migration" This reverts commit 11eddc85d5a4561f6de9098a0b2a6936245a64ad. Signed-off-by: Venky Shankar (cherry picked from commit 789daa893d0988472d4db9dbaf6279c38b895186) --- diff --git a/src/mds/Migrator.cc b/src/mds/Migrator.cc index 444db550c47..1e08a6d419b 100644 --- a/src/mds/Migrator.cc +++ b/src/mds/Migrator.cc @@ -1806,7 +1806,6 @@ void Migrator::encode_export_dir(bufferlist& exportbl, for (auto &p : *dir) { CDentry *dn = p.second; CInode *in = dn->get_linkage()->get_inode(); - CInode *ref_in = dn->get_linkage()->get_referent_inode(); num_exported++; @@ -1837,16 +1836,6 @@ void Migrator::encode_export_dir(bufferlist& exportbl, continue; } - if (dn->get_linkage()->is_referent_remote()) { - // referent inode - ceph_assert(ref_in); - exportbl.append("r", 1); // referent inode dentry - ENCODE_START(2, 1, exportbl); - encode_export_inode(ref_in, exportbl, exported_client_map, exported_client_metadata_map); // encode, and (update state for) export - encode(dn->alternate_name, exportbl); - ENCODE_FINISH(exportbl); - continue; - } // primary link // -- inode exportbl.append("i", 1); // inode dentry @@ -1914,10 +1903,6 @@ void Migrator::finish_export_dir(CDir *dir, mds_rank_t peer, // subdirs? auto&& dirs = in->get_nested_dirfrags(); subdirs.insert(std::end(subdirs), std::begin(dirs), std::end(dirs)); - } else if (dn->get_linkage()->is_referent_remote()) { //referent inode ? - CInode *ref_in = dn->get_linkage()->get_referent_inode(); - finish_export_inode(ref_in, peer, peer_imported[ref_in->ino()], finished); - // referent inode - no subdirs } mdcache->touch_dentry_bottom(dn); // move dentry to tail of LRU @@ -3361,18 +3346,7 @@ void Migrator::decode_import_inode(CDentry *dn, bufferlist::const_iterator& blp, } // link before state -- or not! -sage - if (in->get_remote_ino()) { //referent inode ? - dout(20) << __func__ << " linking decoded referent_inode=" << *in << " remote_inode=" << in->get_remote_ino() << dendl; - if (dn->get_linkage()->get_referent_inode() != in) { - ceph_assert(!dn->get_linkage()->get_referent_inode()); - dout(20) << __func__ << " null dentry_linkage, linking decode referent_inode, linkage referent_inode=" << dn->get_linkage()->get_referent_inode() << dendl; - dn->dir->link_referent_inode(dn, in, in->get_remote_ino(), in->d_type()); - } else { - dout(20) << __func__ << " non-null dentry_linkage, validating decoded referent_inode against existing" << dendl; - ceph_assert(dn->get_linkage()->get_remote_ino() == in->get_remote_ino()); - ceph_assert(dn->get_linkage()->get_referent_ino() == in->ino()); - } - } else if (dn->get_linkage()->get_inode() != in) { + if (dn->get_linkage()->get_inode() != in) { ceph_assert(!dn->get_linkage()->get_inode()); dn->dir->link_primary_inode(dn, in); } @@ -3623,21 +3597,6 @@ void Migrator::decode_import_dir(bufferlist::const_iterator& blp, peer_exports, updated_scatterlocks); } } - else if (icode == 'R' || icode == 'r') { - // remote link with referent inode - ceph_assert(le); - if (icode == 'r') { - DECODE_START(2, blp); - decode_import_inode(dn, blp, oldauth, ls, - peer_exports, updated_scatterlocks); - ceph_assert(!dn->is_projected()); - decode(dn->alternate_name, blp); - DECODE_FINISH(blp); - } else { - decode_import_inode(dn, blp, oldauth, ls, - peer_exports, updated_scatterlocks); - } - } // add dentry to journal entry if (le)