NFS - DNS fail stops boot in mountlate

Jeremy Chadwick freebsd at jdc.parodius.com
Fri Jan 7 02:35:09 UTC 2011


On Thu, Jan 06, 2011 at 09:19:06PM -0500, grarpamp wrote:
> So what was unclear?
> 
> mount_nfs emits a nonzero exit status upon failing to look
> up an FQDN causing mountlate to trigger a dump to shell
> on boot during rc processing. That's a *showstopper*. The
> right thing to do is to hack mount_nfs to punt to background
> mounting in this case with an appropriate exit status.
> 
> Personally I'd distinguish mount_nfs exit codes between:
> 0 - mounted
> 1 - backgrounded, for any reason
> 2 - none of the above
> and adjust the rc's to deal with it accordingly.
> 
> Words are subject to interpretation and take time. Though
> perhaps masked by brevity, I believe all the above elements
> were in the prior concise post. Thanks everybody :)

So basically the problem is that the "bg" option in mount_nfs only
applies to "network unreachable" conditions and not "DNS resolution
failed" conditions.

Initially I was going to refute the above request until I looked closely
at the mount_nfs(8) man page which has the following clauses:

	For non-critical file systems, the bg and retrycnt options
	provide mechanisms to prevent the boot process from hanging
	if the server is unavailable.

	[...describing the "bg" option...]

	Useful for fstab(5), where the file system mount is not
	critical to multiuser operation.

I read these statements to mean "if -o bg is used, the system should not
hang/stall/fail during the boot process".  Dumping to /bin/sh on boot as
a result of a DNS lookup failure violates those statements, IMHO.

I would agree that DNS resolution should be part of the bg/retry feature
of "bg" in mount_nfs.  How/whether this is feasible to implement is
unknown to me.

-- 
| Jeremy Chadwick                                   jdc at parodius.com |
| Parodius Networking                       http://www.parodius.com/ |
| UNIX Systems Administrator                  Mountain View, CA, USA |
| Making life hard for others since 1977.               PGP 4BD6C0CB |



More information about the freebsd-stable mailing list