From 1a48359f34d2285b7946318d0a1f346727a9c016 Mon Sep 17 00:00:00 2001 From: "Yan, Zheng" Date: Fri, 12 May 2017 16:31:51 +0800 Subject: [PATCH] qa/tasks/cephfs: use getattr to guarantee inode is in client cache When selinux is enabled, kernel client may releases inodes (without uptodate xattr) in readdir reply immediately after processing the reply. The reason is that linking the inode to dentry causes deadlock if xattr is not uptodate. We can use stat(2) syscall to guarantee that kernel client caches an inode. Fixes: http://tracker.ceph.com/issues/19912 Signed-off-by: "Yan, Zheng" --- qa/tasks/cephfs/test_client_recovery.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qa/tasks/cephfs/test_client_recovery.py b/qa/tasks/cephfs/test_client_recovery.py index 4b4085a915704..9387b0d676de1 100644 --- a/qa/tasks/cephfs/test_client_recovery.py +++ b/qa/tasks/cephfs/test_client_recovery.py @@ -315,7 +315,7 @@ class TestClientRecovery(CephFSTestCase): self.mount_a.run_shell(["touch", "f{0}".format(i)]) # Populate mount_b's cache - self.mount_b.run_shell(["ls"]) + self.mount_b.run_shell(["ls", "-l"]) client_id = self.mount_b.get_global_id() num_caps = self._session_num_caps(client_id) -- 2.39.5