diff options
Diffstat (limited to 'fs/nfsd/nfssvc.c')
| -rw-r--r-- | fs/nfsd/nfssvc.c | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/fs/nfsd/nfssvc.c b/fs/nfsd/nfssvc.c index 80292ff5e924..59eeb46f82c5 100644 --- a/fs/nfsd/nfssvc.c +++ b/fs/nfsd/nfssvc.c | |||
| @@ -229,6 +229,7 @@ int nfsd_create_serv(void) | |||
| 229 | 229 | ||
| 230 | atomic_set(&nfsd_busy, 0); | 230 | atomic_set(&nfsd_busy, 0); |
| 231 | nfsd_serv = svc_create_pooled(&nfsd_program, nfsd_max_blksize, | 231 | nfsd_serv = svc_create_pooled(&nfsd_program, nfsd_max_blksize, |
| 232 | AF_INET, | ||
| 232 | nfsd_last_thread, nfsd, THIS_MODULE); | 233 | nfsd_last_thread, nfsd, THIS_MODULE); |
| 233 | if (nfsd_serv == NULL) | 234 | if (nfsd_serv == NULL) |
| 234 | err = -ENOMEM; | 235 | err = -ENOMEM; |
| @@ -243,25 +244,20 @@ static int nfsd_init_socks(int port) | |||
| 243 | if (!list_empty(&nfsd_serv->sv_permsocks)) | 244 | if (!list_empty(&nfsd_serv->sv_permsocks)) |
| 244 | return 0; | 245 | return 0; |
| 245 | 246 | ||
| 246 | error = lockd_up(IPPROTO_UDP); | 247 | error = svc_create_xprt(nfsd_serv, "udp", port, |
| 247 | if (error >= 0) { | ||
| 248 | error = svc_create_xprt(nfsd_serv, "udp", port, | ||
| 249 | SVC_SOCK_DEFAULTS); | 248 | SVC_SOCK_DEFAULTS); |
| 250 | if (error < 0) | ||
| 251 | lockd_down(); | ||
| 252 | } | ||
| 253 | if (error < 0) | 249 | if (error < 0) |
| 254 | return error; | 250 | return error; |
| 255 | 251 | ||
| 256 | error = lockd_up(IPPROTO_TCP); | 252 | error = svc_create_xprt(nfsd_serv, "tcp", port, |
| 257 | if (error >= 0) { | ||
| 258 | error = svc_create_xprt(nfsd_serv, "tcp", port, | ||
| 259 | SVC_SOCK_DEFAULTS); | 253 | SVC_SOCK_DEFAULTS); |
| 260 | if (error < 0) | ||
| 261 | lockd_down(); | ||
| 262 | } | ||
| 263 | if (error < 0) | 254 | if (error < 0) |
| 264 | return error; | 255 | return error; |
| 256 | |||
| 257 | error = lockd_up(); | ||
| 258 | if (error < 0) | ||
| 259 | return error; | ||
| 260 | |||
| 265 | return 0; | 261 | return 0; |
| 266 | } | 262 | } |
| 267 | 263 | ||
