Re introduces a DCACHE_DENTRY_UNHASHED flag to solve a race with checking a unhashed state vs rename. Bug found while a Cray Lustre testing but looks not a FS specific, du comment in dcache.h > Any filesystem which supports nfsd_operations MUST have a lookup function which, > if it finds a directory inode with a DCACHE_DISCONNECTED dentry, will d_move > that dentry into place and return that dentry rather than the passed one, > typically using d_splice_alias. * So potentially any FS will affected. v2 removed to use a sequence lock from d_unhashed check, due large number problems while d_unhashed checked with any spinlock hold. --- Alexey Lyashkov (2): rehash process protected with d_seq and d_lock locks, but VFS have access to the cleanup of d_unhashed usage. fs/configfs/inode.c | 2 +- fs/dcache.c | 36 ++++++++++++++++++------------------ fs/nfs/dir.c | 2 +- include/linux/dcache.h | 6 ++++-- 4 files changed, 24 insertions(+), 22 deletions(-) -- -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html