From: Patrick Donnelly Date: Tue, 11 Mar 2025 19:01:46 +0000 (-0400) Subject: mds: set alternate_name for new fullbit dentries X-Git-Tag: v19.2.3~288^2~1 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=4f71a93109e55d6a06cfc1a2988fc5d4d4958164;p=ceph.git mds: set alternate_name for new fullbit dentries Fixes: 9fbf37ade38bc1d057eda2459b0ccfd2ab40626a Fixes: https://tracker.ceph.com/issues/70409 Signed-off-by: Patrick Donnelly (cherry picked from commit 5fc94be121f8f99d0d46a2e7b41a05a9956e2fce) Conflicts: src/mds/journal.cc: code movement caused by referent inode changeset --- diff --git a/src/mds/journal.cc b/src/mds/journal.cc index 40400ff4054ca..40ee2599d42c9 100644 --- a/src/mds/journal.cc +++ b/src/mds/journal.cc @@ -1318,6 +1318,7 @@ void EMetaBlob::replay(MDSRank *mds, LogSegment *logseg, int type, MDPeerUpdate dn->set_version(fb.dnv); if (fb.is_dirty()) dn->_mark_dirty(logseg); dout(10) << "EMetaBlob.replay added (full) " << *dn << dendl; + dn->set_alternate_name(mempool::mds_co::string(fb.alternate_name)); } else { dn->set_version(fb.dnv); if (fb.is_dirty()) dn->_mark_dirty(logseg); @@ -1325,6 +1326,7 @@ void EMetaBlob::replay(MDSRank *mds, LogSegment *logseg, int type, MDPeerUpdate dn->first = fb.dnfirst; ceph_assert(dn->last == fb.dnlast); } + ceph_assert(dn->get_alternate_name() == fb.alternate_name); if (lump.is_importing()) dn->mark_auth(); @@ -1433,6 +1435,7 @@ void EMetaBlob::replay(MDSRank *mds, LogSegment *logseg, int type, MDPeerUpdate dn->first = rb.dnfirst; ceph_assert(dn->last == rb.dnlast); } + ceph_assert(dn->get_alternate_name() == rb.alternate_name); if (lump.is_importing()) dn->mark_auth();