]> git.baikalelectronics.ru Git - kernel.git/commit
ceph: use lookup request to revalidate dentry
authorYan, Zheng <zyan@redhat.com>
Thu, 17 Mar 2016 06:41:59 +0000 (14:41 +0800)
committerIlya Dryomov <idryomov@gmail.com>
Fri, 25 Mar 2016 17:51:56 +0000 (18:51 +0100)
commite90c14b2ceb6b4f7d61204c83fe345bad7e6e373
tree613283f7552b64be05bd46e525f285f323a1bdeb
parenta2d26977ad1d70afeebcb812d62ccd857837cff3
ceph: use lookup request to revalidate dentry

If dentry has no lease, ceph_d_revalidate() previously return 0.
This causes VFS to invalidate the dentry and create a new dentry
for later lookup. Invalidating a dentry also detach any underneath
mount points. So mount point inside cephfs can disapear mystically
(even the mount point is not modified by other hosts).

The fix is using lookup request to revalidate dentry without lease.
This can partly solve the mount points disapear issue (as long as
the mount point is not modified by other hosts)

Signed-off-by: Yan, Zheng <zyan@redhat.com>
fs/ceph/dir.c
fs/ceph/inode.c