From 5ff8de4c4f9853979e931584a0f898ccbb436d5c Mon Sep 17 00:00:00 2001 From: Chuck Lever Date: Thu, 23 Apr 2009 19:32:18 -0400 Subject: [PATCH] --- yaml --- r: 153657 b: refs/heads/master c: ea068bad27cefc71ab03230dbf01a8f8d98da5ba h: refs/heads/master i: 153655: 52ce6c1798385941bf2e944bec027439c7239c20 v: v3 --- [refs] | 2 +- trunk/fs/nfsd/nfsctl.c | 19 ++++++++++--------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/[refs] b/[refs] index e9d37881acfd..34515acb79ca 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 0a5372d8a13c3f670bf7c9c4a68ab04c3664fa28 +refs/heads/master: ea068bad27cefc71ab03230dbf01a8f8d98da5ba diff --git a/trunk/fs/nfsd/nfsctl.c b/trunk/fs/nfsd/nfsctl.c index caf4fdc674c0..e051847b93fb 100644 --- a/trunk/fs/nfsd/nfsctl.c +++ b/trunk/fs/nfsd/nfsctl.c @@ -939,17 +939,18 @@ static ssize_t __write_ports_addfd(char *buf) if (err != 0) return err; - err = svc_addsock(nfsd_serv, fd, buf); - if (err >= 0) { - err = lockd_up(); - if (err < 0) - svc_sock_names(buf + strlen(buf) + 1, nfsd_serv, buf); + err = lockd_up(); + if (err != 0) + goto out; - /* Decrease the count, but don't shut down the service */ - nfsd_serv->sv_nrthreads--; - } + err = svc_addsock(nfsd_serv, fd, buf); + if (err < 0) + lockd_down(); - return err < 0 ? err : 0; +out: + /* Decrease the count, but don't shut down the service */ + nfsd_serv->sv_nrthreads--; + return err; } /*