2008-08-02 12:33:44

by Oliver Pinter

[permalink] [raw]
Subject: [RFC, 2.6.26.2-rc1] NFS: Ensure we call nfs_sb_deactive() after releasing the directory inode

>From 744d18dbfae07482ea461701b0aaec3a75ec9224 Mon Sep 17 00:00:00 2001
From: Trond Myklebust <[email protected]>
Date: Sun, 27 Jul 2008 18:03:19 -0400
Subject: [PATCH] NFS: Ensure we call nfs_sb_deactive() after releasing the
directory inode

[ Upstream commit 744d18dbfae07482ea461701b0aaec3a75ec9224 ]

In order to avoid the "Busy inodes after unmount" error message, we need to
ensure that nfs_async_unlink_release() releases the super block after the
call to nfs_free_unlinkdata().

Signed-off-by: Trond Myklebust <[email protected]>
CC: Oliver Pinter <[email protected]>

diff --git a/fs/nfs/unlink.c b/fs/nfs/unlink.c
index 3adf8b2..f089e58 100644
--- a/fs/nfs/unlink.c
+++ b/fs/nfs/unlink.c
@@ -95,10 +95,11 @@ static void nfs_async_unlink_done(struct rpc_task
*task, void *calldata)
static void nfs_async_unlink_release(void *calldata)
{
struct nfs_unlinkdata *data = calldata;
+ struct super_block *sb = data->dir->i_sb;

nfs_dec_sillycount(data->dir);
- nfs_sb_deactive(NFS_SERVER(data->dir));
nfs_free_unlinkdata(data);
+ nfs_sb_deactive(NFS_SB(sb));
}

static const struct rpc_call_ops nfs_unlink_ops = {


2008-08-02 17:42:36

by Willy Tarreau

[permalink] [raw]
Subject: Re: [RFC, 2.6.26.2-rc1] NFS: Ensure we call nfs_sb_deactive() after releasing the directory inode

Oliver,

most of your mails are line-wrapped at some locations :

> diff --git a/fs/nfs/unlink.c b/fs/nfs/unlink.c
> index 3adf8b2..f089e58 100644
> --- a/fs/nfs/unlink.c
> +++ b/fs/nfs/unlink.c
> @@ -95,10 +95,11 @@ static void nfs_async_unlink_done(struct rpc_task
> *task, void *calldata)
^^^^^^^^
see here.

You may have to fix your mailer (or use another one).

Regards,
Willy

2008-08-04 18:38:05

by Greg KH

[permalink] [raw]
Subject: Re: [stable] [RFC, 2.6.26.2-rc1] NFS: Ensure we call nfs_sb_deactive() after releasing the directory inode

On Sat, Aug 02, 2008 at 07:42:20PM +0200, Willy Tarreau wrote:
> Oliver,
>
> most of your mails are line-wrapped at some locations :
>
> > diff --git a/fs/nfs/unlink.c b/fs/nfs/unlink.c
> > index 3adf8b2..f089e58 100644
> > --- a/fs/nfs/unlink.c
> > +++ b/fs/nfs/unlink.c
> > @@ -95,10 +95,11 @@ static void nfs_async_unlink_done(struct rpc_task
> > *task, void *calldata)
> ^^^^^^^^
> see here.
>
> You may have to fix your mailer (or use another one).

{sigh}

Yes, all of these patches are linewrapped.

Now, I can either go through and edit them all by hand and fix them up,
or Oliver can fix his email client to not doing this anymore, saving
everyone time in the future.

I choose the latter.

Oliver, consider all of the patches you just send out as dropped. Can
you resend the ones that are actually bugfixes, with out being
linewrapped?

thanks,

greg k-h

2008-08-04 18:39:13

by Greg KH

[permalink] [raw]
Subject: Re: [stable] [RFC, 2.6.26.2-rc1] NFS: Ensure we call nfs_sb_deactive() after releasing the directory inode

On Mon, Aug 04, 2008 at 11:34:44AM -0700, Greg KH wrote:
> On Sat, Aug 02, 2008 at 07:42:20PM +0200, Willy Tarreau wrote:
> > Oliver,
> >
> > most of your mails are line-wrapped at some locations :
> >
> > > diff --git a/fs/nfs/unlink.c b/fs/nfs/unlink.c
> > > index 3adf8b2..f089e58 100644
> > > --- a/fs/nfs/unlink.c
> > > +++ b/fs/nfs/unlink.c
> > > @@ -95,10 +95,11 @@ static void nfs_async_unlink_done(struct rpc_task
> > > *task, void *calldata)
> > ^^^^^^^^
> > see here.
> >
> > You may have to fix your mailer (or use another one).
>
> {sigh}
>
> Yes, all of these patches are linewrapped.

Ok, I take that back, only half of them are linewrapped :)

But it would be easier for you to just resend them all, as that way I
know which ones have already been rejected by people much easier and I
can take the proper ones.

thanks,

greg k-h

2008-08-04 19:50:47

by Oliver Pinter

[permalink] [raw]
Subject: Re: [stable] [RFC, 2.6.26.2-rc1] NFS: Ensure we call nfs_sb_deactive() after releasing the directory inode

the fixed patches to get a "(fixed)" ending

On 8/4/08, Greg KH <[email protected]> wrote:
> On Mon, Aug 04, 2008 at 11:34:44AM -0700, Greg KH wrote:
>> On Sat, Aug 02, 2008 at 07:42:20PM +0200, Willy Tarreau wrote:
>> > Oliver,
>> >
>> > most of your mails are line-wrapped at some locations :
>> >
>> > > diff --git a/fs/nfs/unlink.c b/fs/nfs/unlink.c
>> > > index 3adf8b2..f089e58 100644
>> > > --- a/fs/nfs/unlink.c
>> > > +++ b/fs/nfs/unlink.c
>> > > @@ -95,10 +95,11 @@ static void nfs_async_unlink_done(struct rpc_task
>> > > *task, void *calldata)
>> > ^^^^^^^^
>> > see here.
>> >
>> > You may have to fix your mailer (or use another one).
>>
>> {sigh}
>>
>> Yes, all of these patches are linewrapped.
>
> Ok, I take that back, only half of them are linewrapped :)
>
> But it would be easier for you to just resend them all, as that way I
> know which ones have already been rejected by people much easier and I
> can take the proper ones.
>
> thanks,
>
> greg k-h
>


--
Thanks,
Oliver