Browse Source

fuse: don't check_submounts_and_drop() in RCU walk

If revalidate finds an invalid dentry in RCU walk mode, let the VFS deal
with it instead of calling check_submounts_and_drop() which is not prepared
for being called from RCU walk.

Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
Cc: stable@vger.kernel.org
Miklos Szeredi 11 years ago
parent
commit
3c70b8eeda
1 changed files with 2 additions and 1 deletions
  1. 2 1
      fs/fuse/dir.c

+ 2 - 1
fs/fuse/dir.c

@@ -259,7 +259,8 @@ out:
 
 invalid:
 	ret = 0;
-	if (check_submounts_and_drop(entry) != 0)
+
+	if (!(flags & LOOKUP_RCU) && check_submounts_and_drop(entry) != 0)
 		ret = 1;
 	goto out;
 }