aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfsd
diff options
context:
space:
mode:
Diffstat (limited to 'fs/nfsd')
-rw-r--r--fs/nfsd/nfsctl.c5
-rw-r--r--fs/nfsd/nfssvc.c19
2 files changed, 9 insertions, 15 deletions
diff --git a/fs/nfsd/nfsctl.c b/fs/nfsd/nfsctl.c
index c53e65f8f3a2..862dff5247f7 100644
--- a/fs/nfsd/nfsctl.c
+++ b/fs/nfsd/nfsctl.c
@@ -614,10 +614,9 @@ static ssize_t __write_ports(struct file *file, char *buf, size_t size)
614 return -EINVAL; 614 return -EINVAL;
615 err = nfsd_create_serv(); 615 err = nfsd_create_serv();
616 if (!err) { 616 if (!err) {
617 int proto = 0; 617 err = svc_addsock(nfsd_serv, fd, buf, NULL);
618 err = svc_addsock(nfsd_serv, fd, buf, &proto);
619 if (err >= 0) { 618 if (err >= 0) {
620 err = lockd_up(proto); 619 err = lockd_up();
621 if (err < 0) 620 if (err < 0)
622 svc_sock_names(buf+strlen(buf)+1, nfsd_serv, buf); 621 svc_sock_names(buf+strlen(buf)+1, nfsd_serv, buf);
623 } 622 }
diff --git a/fs/nfsd/nfssvc.c b/fs/nfsd/nfssvc.c
index 7f3d76a7839d..59eeb46f82c5 100644
--- a/fs/nfsd/nfssvc.c
+++ b/fs/nfsd/nfssvc.c
@@ -244,25 +244,20 @@ static int nfsd_init_socks(int port)
244 if (!list_empty(&nfsd_serv->sv_permsocks)) 244 if (!list_empty(&nfsd_serv->sv_permsocks))
245 return 0; 245 return 0;
246 246
247 error = lockd_up(IPPROTO_UDP); 247 error = svc_create_xprt(nfsd_serv, "udp", port,
248 if (error >= 0) {
249 error = svc_create_xprt(nfsd_serv, "udp", port,
250 SVC_SOCK_DEFAULTS); 248 SVC_SOCK_DEFAULTS);
251 if (error < 0)
252 lockd_down();
253 }
254 if (error < 0) 249 if (error < 0)
255 return error; 250 return error;
256 251
257 error = lockd_up(IPPROTO_TCP); 252 error = svc_create_xprt(nfsd_serv, "tcp", port,
258 if (error >= 0) {
259 error = svc_create_xprt(nfsd_serv, "tcp", port,
260 SVC_SOCK_DEFAULTS); 253 SVC_SOCK_DEFAULTS);
261 if (error < 0)
262 lockd_down();
263 }
264 if (error < 0) 254 if (error < 0)
265 return error; 255 return error;
256
257 error = lockd_up();
258 if (error < 0)
259 return error;
260
266 return 0; 261 return 0;
267} 262}
268 263