vfs: Document the effect of d_revalidate on d_find_alias

d_drop or check_submounts_and_drop called from d_revalidate can result
in renamed directories with child dentries being unhashed.  These
renamed and drop directory dentries can be rehashed after
d_materialise_unique uses d_find_alias to find them.

Reviewed-by: Miklos Szeredi <miklos@szeredi.hu>
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
Eric W. Biederman
2014-02-12 16:08:06 -08:00
committed by Al Viro
parent 9ea459e110
commit 3ccb354d64

View File

@ -761,7 +761,8 @@ EXPORT_SYMBOL(dget_parent);
* acquire the reference to alias and return it. Otherwise return NULL. * acquire the reference to alias and return it. Otherwise return NULL.
* Notice that if inode is a directory there can be only one alias and * Notice that if inode is a directory there can be only one alias and
* it can be unhashed only if it has no children, or if it is the root * it can be unhashed only if it has no children, or if it is the root
* of a filesystem. * of a filesystem, or if the directory was renamed and d_revalidate
* was the first vfs operation to notice.
* *
* If the inode has an IS_ROOT, DCACHE_DISCONNECTED alias, then prefer * If the inode has an IS_ROOT, DCACHE_DISCONNECTED alias, then prefer
* any other hashed alias over that one. * any other hashed alias over that one.