diff options
Diffstat (limited to 'fs/nfsd/nfsctl.c')
-rw-r--r-- | fs/nfsd/nfsctl.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/fs/nfsd/nfsctl.c b/fs/nfsd/nfsctl.c index af7469efc61c..9e8645a07fca 100644 --- a/fs/nfsd/nfsctl.c +++ b/fs/nfsd/nfsctl.c | |||
@@ -1018,6 +1018,9 @@ static ssize_t __write_ports_addxprt(char *buf) | |||
1018 | PF_INET6, port, SVC_SOCK_ANONYMOUS); | 1018 | PF_INET6, port, SVC_SOCK_ANONYMOUS); |
1019 | if (err < 0 && err != -EAFNOSUPPORT) | 1019 | if (err < 0 && err != -EAFNOSUPPORT) |
1020 | goto out_close; | 1020 | goto out_close; |
1021 | |||
1022 | /* Decrease the count, but don't shut down the service */ | ||
1023 | nfsd_serv->sv_nrthreads--; | ||
1021 | return 0; | 1024 | return 0; |
1022 | out_close: | 1025 | out_close: |
1023 | xprt = svc_find_xprt(nfsd_serv, transport, PF_INET, port); | 1026 | xprt = svc_find_xprt(nfsd_serv, transport, PF_INET, port); |
@@ -1026,8 +1029,7 @@ out_close: | |||
1026 | svc_xprt_put(xprt); | 1029 | svc_xprt_put(xprt); |
1027 | } | 1030 | } |
1028 | out_err: | 1031 | out_err: |
1029 | /* Decrease the count, but don't shut down the service */ | 1032 | svc_destroy(nfsd_serv); |
1030 | nfsd_serv->sv_nrthreads--; | ||
1031 | return err; | 1033 | return err; |
1032 | } | 1034 | } |
1033 | 1035 | ||