Michael McConville wrote:
> Diff below. Is anyone running an NFS server on -current willing to
> test?

Disregard, this needs more initial testing (by me) first. It's hanging
when registering the service.

> Index: mountd.c
> ===================================================================
> RCS file: /cvs/src/sbin/mountd/mountd.c,v
> retrieving revision 1.81
> diff -u -p -r1.81 mountd.c
> --- mountd.c  20 Aug 2015 22:16:35 -0000      1.81
> +++ mountd.c  2 Nov 2015 06:12:12 -0000
> @@ -242,6 +242,24 @@ main(int argc, char *argv[])
>       get_mountlist();
>       if (debug)
>               fprintf(stderr, "Here we go.\n");
> +
> +     signal(SIGHUP, (void (*)(int)) new_exportlist);
> +     signal(SIGTERM, (void (*)(int)) send_umntall);
> +     signal(SIGSYS, SIG_IGN);
> +     if ((udptransp = svcudp_create(RPC_ANYSOCK)) == NULL ||
> +         (tcptransp = svctcp_create(RPC_ANYSOCK, 0, 0)) == NULL) {
> +             syslog(LOG_ERR, "Can't create socket");
> +             exit(1);
> +     }
> +     pmap_unset(RPCPROG_MNT, RPCMNT_VER1);
> +     pmap_unset(RPCPROG_MNT, RPCMNT_VER3);
> +     if (!svc_register(udptransp, RPCPROG_MNT, RPCMNT_VER1, mntsrv, 
> IPPROTO_UDP) ||
> +         !svc_register(udptransp, RPCPROG_MNT, RPCMNT_VER3, mntsrv, 
> IPPROTO_UDP) ||
> +         !svc_register(tcptransp, RPCPROG_MNT, RPCMNT_VER1, mntsrv, 
> IPPROTO_TCP) ||
> +         !svc_register(tcptransp, RPCPROG_MNT, RPCMNT_VER3, mntsrv, 
> IPPROTO_TCP)) {
> +             syslog(LOG_ERR, "Can't register mount");
> +             exit(1);
> +     }
>       if (debug == 0) {
>               daemon(0, 0);
>               signal(SIGINT, SIG_IGN);
> @@ -263,24 +281,6 @@ main(int argc, char *argv[])
>       if (pidfile) {
>               fprintf(pidfile, "%ld\n", (long)getpid());
>               fclose(pidfile);
> -     }
> -
> -     signal(SIGHUP, (void (*)(int)) new_exportlist);
> -     signal(SIGTERM, (void (*)(int)) send_umntall);
> -     signal(SIGSYS, SIG_IGN);
> -     if ((udptransp = svcudp_create(RPC_ANYSOCK)) == NULL ||
> -         (tcptransp = svctcp_create(RPC_ANYSOCK, 0, 0)) == NULL) {
> -             syslog(LOG_ERR, "Can't create socket");
> -             exit(1);
> -     }
> -     pmap_unset(RPCPROG_MNT, RPCMNT_VER1);
> -     pmap_unset(RPCPROG_MNT, RPCMNT_VER3);
> -     if (!svc_register(udptransp, RPCPROG_MNT, RPCMNT_VER1, mntsrv, 
> IPPROTO_UDP) ||
> -         !svc_register(udptransp, RPCPROG_MNT, RPCMNT_VER3, mntsrv, 
> IPPROTO_UDP) ||
> -         !svc_register(tcptransp, RPCPROG_MNT, RPCMNT_VER1, mntsrv, 
> IPPROTO_TCP) ||
> -         !svc_register(tcptransp, RPCPROG_MNT, RPCMNT_VER3, mntsrv, 
> IPPROTO_TCP)) {
> -             syslog(LOG_ERR, "Can't register mount");
> -             exit(1);
>       }
>       mountd_svc_run();
>       syslog(LOG_ERR, "Mountd died");
> 

Reply via email to