summaryrefslogtreecommitdiffstats
path: root/dracut/anaconda-netroot.sh
diff options
context:
space:
mode:
authorWill Woods <wwoods@redhat.com>2012-05-11 16:50:59 -0400
committerWill Woods <wwoods@redhat.com>2012-05-11 18:41:04 -0400
commit8efcc28a0a76e1662fc3fe301a7ddcbd2caf9909 (patch)
treeefbd095aaf78ab748e94be8907331e2746d93a6b /dracut/anaconda-netroot.sh
parenta876865cf8eaf7d6d7cadef3ffdace34ca766fbd (diff)
downloadanaconda-8efcc28a0a76e1662fc3fe301a7ddcbd2caf9909.tar.gz
anaconda-8efcc28a0a76e1662fc3fe301a7ddcbd2caf9909.tar.xz
anaconda-8efcc28a0a76e1662fc3fe301a7ddcbd2caf9909.zip
dracut: use nfs3 by default (#811242)
For some unknown reason, nfs-root installs will hang after a couple of minutes if you're using nfs4. This doesn't happen with nfs3, so force nfs3 by default. This breaks the normal fallback to nfs2, so if nfs3 doesn't work you'll need to change your repo arg to something like 'nfs:vers=2:SERVER:PATH'. I'm told that nfs2-only servers should be pretty rare at this point, so I think this is a reasonable requirement.
Diffstat (limited to 'dracut/anaconda-netroot.sh')
-rwxr-xr-xdracut/anaconda-netroot.sh7
1 files changed, 7 insertions, 0 deletions
diff --git a/dracut/anaconda-netroot.sh b/dracut/anaconda-netroot.sh
index c7d528a39..043a51f83 100755
--- a/dracut/anaconda-netroot.sh
+++ b/dracut/anaconda-netroot.sh
@@ -25,6 +25,13 @@ case $repo in
. /lib/nfs-lib.sh
info "anaconda mounting NFS repo at $repo"
str_starts "$repo" "nfsiso:" && repo=nfs:${repo#nfsiso:}
+ # HACK: work around some Mysterious NFS4 Badness (#811242 and friends)
+ # by defaulting to nfsvers=3 when no version is requested
+ nfs_to_var $repo $netif
+ if [ "$nfs" != "nfs4" ] && ! strstr "$options" "vers="; then
+ repo="nfs:$options,nfsvers=3:$server:$path"
+ fi
+ # END HACK. FIXME: Figure out what is up with nfs4, jeez
if [ "${repo%.iso}" == "$repo" ]; then
mount_nfs "$repo" "$repodir" "$netif" || warn "Couldn't mount $repo"
anaconda_live_root_dir $repodir