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>
This commit is contained in:
@@ -2002,7 +2002,7 @@ out:
|
||||
}
|
||||
|
||||
/*
|
||||
* Invalidate dir I_COMPLETE, dentry lease state on an aborted MDS
|
||||
* Invalidate dir D_COMPLETE, dentry lease state on an aborted MDS
|
||||
* namespace request.
|
||||
*/
|
||||
void ceph_invalidate_dir_request(struct ceph_mds_request *req)
|
||||
@@ -2010,9 +2010,9 @@ void ceph_invalidate_dir_request(struct ceph_mds_request *req)
|
||||
struct inode *inode = req->r_locked_dir;
|
||||
struct ceph_inode_info *ci = ceph_inode(inode);
|
||||
|
||||
dout("invalidate_dir_request %p (I_COMPLETE, lease(s))\n", inode);
|
||||
dout("invalidate_dir_request %p (D_COMPLETE, lease(s))\n", inode);
|
||||
spin_lock(&inode->i_lock);
|
||||
ci->i_ceph_flags &= ~CEPH_I_COMPLETE;
|
||||
ceph_dir_clear_complete(inode);
|
||||
ci->i_release_count++;
|
||||
spin_unlock(&inode->i_lock);
|
||||
|
||||
|
Reference in New Issue
Block a user