From: Patrick Donnelly Date: Mon, 4 Aug 2025 19:48:38 +0000 (-0400) Subject: qa: test for charmap handling on reintegration X-Git-Tag: testing/wip-jcollin-testing-20251203.125108-squid~1^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=eefd650eaeddfc9186110fb20c6b4da3881d2e48;p=ceph-ci.git 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) --- 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