From: Patrick Donnelly Date: Wed, 23 Oct 2024 18:01:41 +0000 (-0400) Subject: mds: inherit charmap on mkdir X-Git-Tag: testing/wip-khiremat-testing-20250422.120708-squid-debug~101^2~49 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=74c2501ab035c1396d86b490f6c73530b0dc8e2f;p=ceph-ci.git mds: inherit charmap on mkdir Signed-off-by: Patrick Donnelly Fixes: https://tracker.ceph.com/issues/66373 (cherry picked from commit 033d8666373f239b18d52f3fd8c350148ba4f4a1) --- diff --git a/src/mds/Server.cc b/src/mds/Server.cc index e9f73c56a5b..225a6419f7b 100644 --- a/src/mds/Server.cc +++ b/src/mds/Server.cc @@ -7184,11 +7184,16 @@ void Server::handle_client_mkdir(const MDRequestRef& mdr) // it's a directory. dn->push_projected_linkage(newi); - auto _inode = newi->_get_inode(); + auto* _inode = newi->_get_inode(); _inode->version = dn->pre_dirty(); _inode->rstat.rsubdirs = 1; _inode->accounted_rstat = _inode->rstat; _inode->update_backtrace(); + if (auto* csp = diri->get_charmap()) { + dout(20) << " with " << *csp << dendl; + auto& c = _inode->set_charmap(); + c = *csp; + } snapid_t follows = mdcache->get_global_snaprealm()->get_newest_seq(); SnapRealm *realm = dn->get_dir()->inode->find_snaprealm();