diff options
author | Sage Weil <sage@newdream.net> | 2011-11-03 12:23:36 -0400 |
---|---|---|
committer | Sage Weil <sage@newdream.net> | 2011-11-06 00:10:10 -0400 |
commit | c6ffe10015f4e6fba8a915318b319c43aed1836f (patch) | |
tree | dd39730aeb6d00713ca27a1bf34b116d31479151 /fs/ceph/mds_client.c | |
parent | b58dc4100b9190f2cb437f1f67ffcb9f9acc4923 (diff) |
ceph: use new D_COMPLETE dentry flag
We used to use a flag on the directory inode to track whether the dcache
contents for a directory were a complete cached copy. Switch to a dentry
flag CEPH_D_COMPLETE that is safely updated by ->d_prune().
Signed-off-by: Sage Weil <sage@newdream.net>
Diffstat (limited to 'fs/ceph/mds_client.c')
-rw-r--r-- | fs/ceph/mds_client.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/ceph/mds_client.c b/fs/ceph/mds_client.c index 1d72f15fe9f4..b4c3efa163c2 100644 --- a/fs/ceph/mds_client.c +++ b/fs/ceph/mds_client.c | |||
@@ -2002,7 +2002,7 @@ out: | |||
2002 | } | 2002 | } |
2003 | 2003 | ||
2004 | /* | 2004 | /* |
2005 | * Invalidate dir I_COMPLETE, dentry lease state on an aborted MDS | 2005 | * Invalidate dir D_COMPLETE, dentry lease state on an aborted MDS |
2006 | * namespace request. | 2006 | * namespace request. |
2007 | */ | 2007 | */ |
2008 | void ceph_invalidate_dir_request(struct ceph_mds_request *req) | 2008 | void ceph_invalidate_dir_request(struct ceph_mds_request *req) |
@@ -2010,9 +2010,9 @@ void ceph_invalidate_dir_request(struct ceph_mds_request *req) | |||
2010 | struct inode *inode = req->r_locked_dir; | 2010 | struct inode *inode = req->r_locked_dir; |
2011 | struct ceph_inode_info *ci = ceph_inode(inode); | 2011 | struct ceph_inode_info *ci = ceph_inode(inode); |
2012 | 2012 | ||
2013 | dout("invalidate_dir_request %p (I_COMPLETE, lease(s))\n", inode); | 2013 | dout("invalidate_dir_request %p (D_COMPLETE, lease(s))\n", inode); |
2014 | spin_lock(&inode->i_lock); | 2014 | spin_lock(&inode->i_lock); |
2015 | ci->i_ceph_flags &= ~CEPH_I_COMPLETE; | 2015 | ceph_dir_clear_complete(inode); |
2016 | ci->i_release_count++; | 2016 | ci->i_release_count++; |
2017 | spin_unlock(&inode->i_lock); | 2017 | spin_unlock(&inode->i_lock); |
2018 | 2018 | ||