Date: Sun, 25 Feb 2001 12:21:18 -0800 (PST) From: Matt Dillon <dillon@earth.backplane.com> To: Martin Blapp <mb@imp.ch> Cc: alfred@freebsd.org, current@freebsd.org Subject: Re: some proposals about nfsd(8) Message-ID: <200102252021.f1PKLIi16065@earth.backplane.com> References: <Pine.BSF.4.21.0102252035030.7589-100000@levais.imp.ch>
next in thread | previous in thread | raw e-mail | index | archive | help
: : :Hi, : :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 :it. 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 host. :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. : :Martin 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). -Matt :Martin Blapp, mb@imp.ch :------------------------------------------------ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200102252021.f1PKLIi16065>