]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
qa/tasks/cephfs: use getattr to guarantee inode is in client cache 15062/head
authorYan, Zheng <zyan@redhat.com>
Fri, 12 May 2017 08:31:51 +0000 (16:31 +0800)
committerYan, Zheng <zyan@redhat.com>
Fri, 12 May 2017 08:42:25 +0000 (16:42 +0800)
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" <zyan@redhat.com>
qa/tasks/cephfs/test_client_recovery.py

index 4b4085a915704553da119b5ffd49a5f7659c37a2..9387b0d676de18350467ab862d67558fb50ead57 100644 (file)
@@ -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)