Experimental NFS server oddity
rmacklem at uoguelph.ca
Sun Sep 12 15:32:18 UTC 2010
> On Sep 11, 2010, at 5:26 PM, Rick Macklem wrote:
> >> On Sep 11, 2010, at 4:20 PM, Rick Macklem wrote:
> >>> You can also look in /var/log/messages to see if any of the
> >>> daemons
> >>> are complaining about something.
> >> Only warning I see on a system reboot is:
> >> nfsd: can't open /var/db/nfs-stablerestart
> >> Creating this file and then rebooting the system seems to get
> >> things
> >> working.
> >> This file certainly wasn't required by the old nfsd.
> >> Should this file be created by /etc/rc.d/nfsserver at boot time (if
> >> it
> >> doesn't exist)?
> >> Or should it be created by installworld?
> > Technically, it should only be created for a fresh install on a disk
> > that has never been set up before. (ie. Not on an update/upgrade
> > unless it has never existed before.)
> > ....
> > As such, I just documented it in "man nfsv4" for now,
> This is going to bite people on upgrades since
> the old server didn't require this file, so people
> upgrading from the old nfsd are going to hit
> this problem pretty consistently.
> I'd like to at least consider alternatives to the
> current behavior; maybe one of the following?
> * If the file doesn't exist on startup, create it
> and warn loudly.
> * Similar to isc-dhcp, periodically make a
> a backup copy of the file and only create a
> fresh blank one if the file and backup are
> both missing.
I think this might be a reasonable compromise. The kernel can
signal the master nfsd (which remains in userland) to copy the
file to a backup after it has been updated, then the backup
can be used if the regular one is lost/corrupted. If neither exists,
creating new ones seems reasonable.
Other opinions? rick
> * "make installworld" is certainly capable
> of creating this file only if it doesn't already
> exist. (That doesn't cover the binary
> update case, of course.)
More information about the freebsd-current