[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <E1Pd1eC-0001hR-LW@pomaz-ex.szeredi.hu>
Date: Wed, 12 Jan 2011 15:26:00 +0100
From: Miklos Szeredi <miklos@...redi.hu>
To: Nick Piggin <npiggin@...il.com>
CC: miklos@...redi.hu, linux-fsdevel@...r.kernel.org,
akpm@...ux-foundation.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] fuse: make fuse_permission() RCU aware
On Wed, 12 Jan 2011, Nick Piggin wrote:
> On Tue, Jan 11, 2011 at 11:14 PM, Miklos Szeredi <miklos@...redi.hu> wrote:
> > From: Miklos Szeredi <mszeredi@...e.cz>
> >
> > 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@...e.cz>
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@...e.cz>
---
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-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists