From: "Yan, Zheng" <zheng.z.yan@xxxxxxxxx> d_invalidate() is the standard VFS method to invalidate dentry. compare to d_delete(), it also try shrinking children dentries. Signed-off-by: Yan, Zheng <zheng.z.yan@xxxxxxxxx> --- fs/ceph/caps.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/fs/ceph/caps.c b/fs/ceph/caps.c index 7b451eb..13976c3 100644 --- a/fs/ceph/caps.c +++ b/fs/ceph/caps.c @@ -2346,10 +2346,10 @@ static void invalidate_aliases(struct inode *inode) d_prune_aliases(inode); /* * For non-directory inode, d_find_alias() only returns - * connected dentry. After calling d_delete(), the dentry - * become disconnected. + * connected dentry. After calling d_invalidate(), the + * dentry become disconnected. * - * For directory inode, d_find_alias() only can return + * For directory inode, d_find_alias() can return * disconnected dentry. But directory inode should have * one alias at most. */ @@ -2358,7 +2358,7 @@ static void invalidate_aliases(struct inode *inode) dput(dn); break; } - d_delete(dn); + d_invalidate(dn); if (prev) dput(prev); prev = dn; -- 1.8.1.4 -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html