From 08ee9204d1c52c682cfe952ecc6f9408c8430152 Mon Sep 17 00:00:00 2001 From: Jeff Layton Date: Mon, 19 Jul 2010 16:50:05 -0400 Subject: [PATCH] --- yaml --- r: 206437 b: refs/heads/master c: 78a8d7c8ca3f0cb5cd2a276c6fc17c8c006d0b3c h: refs/heads/master i: 206435: 67669a0c841c8139132fb6cf1723c7b389862b55 v: v3 --- [refs] | 2 +- trunk/fs/nfsd/nfsctl.c | 12 ++++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index 5e528cfafede..5c88dad4ca58 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4ad9a344be2291b1e594a4a5aee25c5a5df34a97 +refs/heads/master: 78a8d7c8ca3f0cb5cd2a276c6fc17c8c006d0b3c diff --git a/trunk/fs/nfsd/nfsctl.c b/trunk/fs/nfsd/nfsctl.c index 508941c23af7..af7469efc61c 100644 --- a/trunk/fs/nfsd/nfsctl.c +++ b/trunk/fs/nfsd/nfsctl.c @@ -950,14 +950,18 @@ static ssize_t __write_ports_addfd(char *buf) return err; err = lockd_up(); - if (err != 0) - goto out; + if (err != 0) { + svc_destroy(nfsd_serv); + return err; + } err = svc_addsock(nfsd_serv, fd, buf, SIMPLE_TRANSACTION_LIMIT); - if (err < 0) + if (err < 0) { lockd_down(); + svc_destroy(nfsd_serv); + return err; + } -out: /* Decrease the count, but don't shut down the service */ nfsd_serv->sv_nrthreads--; return err;