text-based mount: Retry when server can't be reached
authorChuck Lever <chuck.lever@oracle.com>
Fri, 12 Feb 2010 18:04:14 +0000 (13:04 -0500)
committerSteve Dickson <steved@redhat.com>
Fri, 12 Feb 2010 18:41:48 +0000 (13:41 -0500)
commitdf6c9d1821585c773297fbfffa1dd315b9c84359
treec0792234690f81dc8779d5835190e948eaf671ab
parent0422d28f513d2e9ea116e28a2556cee54c8f1d19
text-based mount: Retry when server can't be reached

We want new default behavior from mount.nfs when the server refuses a
connection.  Since connection refusal can be spurious (for example,
if the server is rebooting), mount.nfs should retry.

NFS shares that are automatically mounted by /etc/fstab at boot
time may be problematic.  The new behavior can be disabled by
specifying the "retry=0" mount option, or these mounts can be changed
to background mounts by specifying the "bg" option.

A kernel code change is still required for the mount(2) system call to
return ECONNREFUSED for NFSv4 mounts (see 2.6.33).  For v2/v3, the
version and transport negotiation logic in mount.nfs should drive a
retry if the server's rpcbind can't be reached.

Note that if a v2/v3 mount request encounters an unregistered NFS
service, it will still fail immediately.  That wouldn't be too hard
to change as well, but there are many more corner cases there where
failing immediately is appropriate.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
utils/mount/nfs.man
utils/mount/stropts.c