Bug #24730
Client::_invalidate_kernel_dcache causes NFS lookup “deleted” dentry
0%
Description
We exported an NFS directory via a mounted ceph-fuse directory named "testshawn", and then started a write/read task using VDBENCH. During the task, the single active MDS was stopped manually. The fuse client connected to a new active MDS successfully, which was standby previously. However, the NFS client hang as well as IO became 0 after the NFS log showed it lookuped the manipulated directory dentry with “deleted”.
There were only 2 dentries in the cache displayed in the fuse client log after reconnection. Also, the log showed client “ll_lookup” the used directory dentry with “deleted” all the time. We found the Client::_invalidate_kernel_dcache would disable the dentries in dcache when reconnect. If entered the mounted fuse directory and did an ”ls” operation, or restarted the nfsd/nfs-mountd daemon, IO would resume.
The version of CEPH environment is v10.2.10 and OS is centos 7.2 of which kernel version is 3.10.0-693.
Related issues
History
#1 Updated by shawn wu over 5 years ago
#2 Updated by Zheng Yan over 5 years ago
set client_try_dentry_invalidate config of ceph-fuse to false
#3 Updated by Zheng Yan over 5 years ago
#4 Updated by Zheng Yan over 5 years ago
- Status changed from New to Closed
#5 Updated by Patrick Donnelly over 5 years ago
- Duplicates Bug #21423: qa: test_client_pin times out waiting for dentry release from kernel added
#6 Updated by Patrick Donnelly over 5 years ago
- Status changed from Closed to Duplicate