aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorMiklos Szeredi <mszeredi@suse.cz>2013-10-01 10:41:22 -0400
committerMiklos Szeredi <mszeredi@suse.cz>2013-10-01 10:41:22 -0400
commit3c70b8eeda596069258772afabf2ab0b1aa017f0 (patch)
tree961f03f916d1bfa70846ca003688e6c18ff33cc4 /fs
parent0ab08f576b9e6a6b689fc6b4e632079b978e619b (diff)
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
Diffstat (limited to 'fs')
-rw-r--r--fs/fuse/dir.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/fuse/dir.c b/fs/fuse/dir.c
index 62b43b577bfc..9b16806f11da 100644
--- a/fs/fuse/dir.c
+++ b/fs/fuse/dir.c
@@ -259,7 +259,8 @@ out:
259 259
260invalid: 260invalid:
261 ret = 0; 261 ret = 0;
262 if (check_submounts_and_drop(entry) != 0) 262
263 if (!(flags & LOOKUP_RCU) && check_submounts_and_drop(entry) != 0)
263 ret = 1; 264 ret = 1;
264 goto out; 265 goto out;
265} 266}