On Wed, 12 Jan 2011, Nick Piggin wrote: > On Tue, Jan 11, 2011 at 11:14 PM, Miklos Szeredi <miklos@xxxxxxxxxx> wrote: > > From: Miklos Szeredi <mszeredi@xxxxxxx> > > > > Only bail out of fuse_permission() on IPERM_FLAG_RCU when it is > > actually necessary. > > Great, thanks for taking a look... How about d_revalidate? Yeah, here's the patch Do you want to collect these patches from fs maintainers, or should I submit to Linus directly? Thanks, Miklos --- From: Miklos Szeredi <mszeredi@xxxxxxx> Subject: fuse: make fuse_dentry_revalidate() RCU aware Only bail out of fuse_dentry_revalidate() on LOOKUP_RCU when blocking is actually necessary. Signed-off-by: Miklos Szeredi <mszeredi@xxxxxxx> --- fs/fuse/dir.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) Index: linux-2.6/fs/fuse/dir.c =================================================================== --- linux-2.6.orig/fs/fuse/dir.c 2011-01-12 13:06:04.000000000 +0100 +++ linux-2.6/fs/fuse/dir.c 2011-01-12 13:07:30.000000000 +0100 @@ -158,9 +158,6 @@ static int fuse_dentry_revalidate(struct { struct inode *inode; - if (nd->flags & LOOKUP_RCU) - return -ECHILD; - inode = entry->d_inode; if (inode && is_bad_inode(inode)) return 0; @@ -177,6 +174,9 @@ static int fuse_dentry_revalidate(struct if (!inode) return 0; + if (nd->flags & LOOKUP_RCU) + return -ECHILD; + fc = get_fuse_conn(inode); req = fuse_get_req(fc); if (IS_ERR(req)) -- 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