diff --git a/clientside/tmcc/common/config/rc.mkelab b/clientside/tmcc/common/config/rc.mkelab index 254053b5917b6aa6f910773fdc9bc9d786914956..92e84561e5fcc2d4bbb3765f449dc3745f6f6c21 100755 --- a/clientside/tmcc/common/config/rc.mkelab +++ b/clientside/tmcc/common/config/rc.mkelab @@ -178,6 +178,9 @@ my $SINGLE_CONTROLNET = 0; # Support a shared filesystem between fs server and nodes my $SHAREDFS = 1; +# When there is a shared FS via NFS, does it have the mountd race? +my $NFSRACY = 1; + # Start up the frisbee master server to act as an IGMP querier # so that frisbee works (if there is no other querier running). # -1 means let the system decide. @@ -242,6 +245,7 @@ my %emulabconfig = ( "CONFIG_USERDB" => !$NOCOLLAB, "CONFIG_WIKI" => !$NOCOLLAB, "CONFIG_SHAREDFS" => $SHAREDFS, + "CONFIG_NFSRACY" => $NFSRACY, "CONFIG_QUERIER" => $NEEDQUERIER, "CONFIG_OPSVM" => $OPSVM, "CONFIG_NODBINIT" => 0, @@ -393,6 +397,10 @@ sub doboot() $emulabconfig{"MFSVERSION"} = "62"; } + if ($FBSD_VERSION >= 9.2) { + $emulabconfig{"CONFIG_NFSRACY"} = 0; + } + # Determine if a XEN VM. if (system("sysctl -n kern.vm_guest >/dev/null 2>&1") == 0) { my $vm_guest = `sysctl -n kern.vm_guest`; @@ -3282,6 +3290,14 @@ sub CreateDefsFile($) } last SWITCH; }; + /^NFSRACY$/ && do { + if ($emulabconfig{"CONFIG_NFSRACY"}) { + print OUTDEFS "NFSRACY=1\n"; + } else { + print OUTDEFS "NFSRACY=0\n"; + } + last SWITCH; + }; /^SELFLOADER_DATA$/ && do { # # Use the SelfLoader in perl 5.8 or beyond (though note diff --git a/defs-elabinelab b/defs-elabinelab index b6409ed44bde3512eecb07cfe29c68870c93f252..0605646b5cc93a9826c697f0472675c3dd0ef54c 100644 --- a/defs-elabinelab +++ b/defs-elabinelab @@ -42,6 +42,7 @@ OPSDBSUPPORT=changeme WINSUPPORT=0 NSVERIFY=changeme NOSHAREDFS=changeme +NFSRACY=changeme SFSSUPPORT=0 CVSSUPPORT=changeme NFSTRACESUPPORT=0 diff --git a/install/phases/ops/rcconf b/install/phases/ops/rcconf index eeefa4972f7d474399438b7e51f004b7c2201797..daf4e1ca8384292ed457192ddf1c46e9ede031c6 100755 --- a/install/phases/ops/rcconf +++ b/install/phases/ops/rcconf @@ -21,9 +21,15 @@ sub Install($$$) qq|mountd_enable="YES"|, qq|nfs_server_enable="YES"|, qq|nfs_server_flags="-u -t -n 16"|, - qq|mountd_flags="-r -p 900"|, qq|syslogd_flags=""|); + # No more NFS races as of 9.2! + if ($FBSD_MAJOR > 9 || ($FBSD_MAJOR == 9 && $FBSD_MINOR > 1)) { + push(@adds, qq|mountd_flags="-r -p 900 -S"|); + } else { + push(@adds, qq|mountd_flags="-r -p 900"|); + } + if (ISFS($server)) { if ($WINSUPPORT) { if ($FBSD_MAJOR > 8 || ($FBSD_MAJOR == 8 && $FBSD_MINOR > 2)) {