Skip to content

Commit

Permalink
fuse: don't check_submounts_and_drop() in RCU walk
Browse files Browse the repository at this point in the history
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
  • Loading branch information
Miklos Szeredi committed Oct 1, 2013
1 parent 0ab08f5 commit 3c70b8e
Showing 1 changed file with 2 additions and 1 deletion.
3 changes: 2 additions & 1 deletion fs/fuse/dir.c
Original file line number Diff line number Diff line change
Expand Up @@ -259,7 +259,8 @@ static int fuse_dentry_revalidate(struct dentry *entry, unsigned int flags)

invalid:
ret = 0;
if (check_submounts_and_drop(entry) != 0)

if (!(flags & LOOKUP_RCU) && check_submounts_and_drop(entry) != 0)
ret = 1;
goto out;
}
Expand Down

0 comments on commit 3c70b8e

Please sign in to comment.