From eefd650eaeddfc9186110fb20c6b4da3881d2e48 Mon Sep 17 00:00:00 2001 From: Patrick Donnelly Date: Mon, 4 Aug 2025 15:48:38 -0400 Subject: [PATCH] qa: test for charmap handling on reintegration The MDS uses a rename request to move the primary link to a remote link. For these requests, there will be no session. Fixes: https://tracker.ceph.com/issues/72349 Signed-off-by: Patrick Donnelly (cherry picked from commit 5d983a46b010144b71f8c5d092d30a4942d8e6e7) --- qa/tasks/cephfs/test_dir_charmap.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/qa/tasks/cephfs/test_dir_charmap.py b/qa/tasks/cephfs/test_dir_charmap.py index cb19d95f27e..24347c00258 100644 --- a/qa/tasks/cephfs/test_dir_charmap.py +++ b/qa/tasks/cephfs/test_dir_charmap.py @@ -320,6 +320,20 @@ class TestCharMapVxattr(CephFSTestCase, CharMapMixin): else: self.fail("should fail") + def test_charmap_to_stray(self): + """ + That internal renames for reintegration works with charmap. + """ + + self.mount_a.run_shell_payload("mkdir foo/") + self.mount_a.setfattr("foo/", "ceph.dir.casesensitive", "0") + self.check_cs("foo", casesensitive=False) + + self.mount_a.run_shell_payload("touch foo/a; ln foo/a foo/b; rm foo/a; sync foo") + self.fs.flush() + + self.mount_a.run_shell_payload("stat foo/b") + class TestCharMapRecovery(CephFSTestCase, CharMapMixin): CLIENTS_REQUIRED = 1 -- 2.47.3