On Sun, 13 Jun 2010 16:28:42 -0400 "J. Bruce Fields" <bfields@xxxxxxxxxxxx> wrote: > On Wed, Jun 09, 2010 at 02:29:43PM -0400, Jeff Layton wrote: > > Ahh ok, I see what you're talking about now. Yeah, that should probably > > also be fixed. I think we just need to ensure to shut down the state in > > an error condition. Something like this compile-tested only patch? > > > > From 19bd25ea9a76ea184e4c30831765e812ce19b0a5 Mon Sep 17 00:00:00 2001 > > From: Jeff Layton <jlayton@xxxxxxxxxx> > > Date: Wed, 9 Jun 2010 14:21:51 -0400 > > Subject: [PATCH] nfsd: shut down NFSv4 state when nfsd_svc encounters an error > > > > Currently, it's left up in some situations. That could cause the grace > > period to be shorter than it should be (along with other problems). > > The patch looks right to me, thanks. > > --b. > FWIW, I've done a bit of testing with this patch on top of the other set and it seems to be ok. That said, I don't have a reliable test that makes the state setup "leak" like this, so I can't really say much other than that it seems to be ok. > > > > Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx> > > --- > > fs/nfsd/nfssvc.c | 11 +++++++---- > > 1 files changed, 7 insertions(+), 4 deletions(-) > > > > diff --git a/fs/nfsd/nfssvc.c b/fs/nfsd/nfssvc.c > > index 06b2a26..a06ea99 100644 > > --- a/fs/nfsd/nfssvc.c > > +++ b/fs/nfsd/nfssvc.c > > @@ -402,9 +402,9 @@ nfsd_svc(unsigned short port, int nrservs) > > nfsd_reset_versions(); > > > > error = nfsd_create_serv(); > > - > > if (error) > > - goto out; > > + goto shutdown_state; > > + > > error = nfsd_init_socks(port); > > if (error) > > goto failure; > > @@ -416,9 +416,12 @@ nfsd_svc(unsigned short port, int nrservs) > > * so subtract 1 > > */ > > error = nfsd_serv->sv_nrthreads - 1; > > - failure: > > +failure: > > svc_destroy(nfsd_serv); /* Release server */ > > - out: > > +shutdown_state: > > + if (error < 0) > > + nfs4_state_shutdown(); > > +out: > > mutex_unlock(&nfsd_mutex); > > return error; > > } > > -- > > 1.5.5.6 > > -- Jeff Layton <jlayton@xxxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html