:nfsd.c has the following lines:
:(void)signal(SIGQUIT, SIG_IGN);
:(void)signal(SIGTERM, SIG_IGN);
:So nfsd(8) can only be killed by -9. Does this make
:sense ? Unregistering withing rpcbind or portmap is
:not possible, so one has to kill portmap(8) or rpcbind(8)
:and restart all the rpc services which had registered 
:themself within portmapper. Very very bad.

    nfsd sits in the kernel most of the time.  It needs
    to ignore SIGTERM in order to stay alive as long
    as possible during a shutdown, otherwise loopback
    mounts will not be able to unmount.

    You do not have to kill portmap to restart nfsd.
    Nfsd sits on a known port, all you need to do is
    restart nfsd if you've killed it.

:This also rises some questions about 'nfsd -r'. This
:flag is used to reregister an existing nfsd within

    nfsd -r is used if you already have nfsd's
    running but somehow unregistered the nfs service
    from the portmapper.  For example, if you killed
    the portmapper and restarted it.  nfsd -r simply
    reregisters the service that is already running
    and then exits.

:portmapper or rpcbind. But since we use 'nfsd -h'
:to allow nfsd to bind to one or more IP's, it's
:broken for some part cause the wrong addresses get
:registered. It's better to kill nfsd and restart

    The -h issue has nothing to do with the 
    portmapper.  The portmapper does not map IP
    addresses, only ports.  -h is necessary when you have a 
    multi-homed machine and wish to allow UDP NFS mounts.
    In order to UDP NFS mounts to work, the socket must
    be bound to a particular IP address or the NFS 
    replies from the server may come from the wrong

:So my first proposal is to remove the SIG_IGN lines and
:adding a signal handler for unregistering nfs within
:portmapper or rpcbind.

    That will not solve any real problem and can screw
    up a shutdown sequence.
:Second, I'd like to have this 'nfsd -r' removed, cause
:it's broken in the concept anyway and useless. Kill nfsd and
:restart does the same, and the binding is done the right way.

    There's nothing wrong with nfsd -r.  It's there in
    case someone decides they need to kill and restart
    the portmapper but don't want to unnecessarily interrupt
    existing nfsd connections (e.g. TCP NFS mounts).


:Martin Blapp, [EMAIL PROTECTED]

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to