diff options
author | Yan, Zheng <zheng.z.yan@intel.com> | 2013-02-18 09:38:14 +0100 |
---|---|---|
committer | Sage Weil <sage@inktank.com> | 2013-05-02 06:14:33 +0200 |
commit | a8673d61ad77ddf2118599507bd40cc345e95368 (patch) | |
tree | 0b8688fee3c2f6c7c35db75d42edd806df689d1d /fs/read_write.c | |
parent | ceph: set mds_want according to cap import message (diff) | |
download | linux-a8673d61ad77ddf2118599507bd40cc345e95368.tar.xz linux-a8673d61ad77ddf2118599507bd40cc345e95368.zip |
ceph: use I_COMPLETE inode flag instead of D_COMPLETE flag
commit c6ffe10015 moved the flag that tracks if the dcache contents
for a directory are complete to dentry. The problem is there are
lots of places that use ceph_dir_{set,clear,test}_complete() while
holding i_ceph_lock. but ceph_dir_{set,clear,test}_complete() may
sleep because they call dput().
This patch basically reverts that commit. For ceph_d_prune(), it's
called with both the dentry to prune and the parent dentry are
locked. So it's safe to access the parent dentry's d_inode and
clear I_COMPLETE flag.
Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
Diffstat (limited to 'fs/read_write.c')
0 files changed, 0 insertions, 0 deletions