mirror of
https://github.com/freebsd/freebsd-src.git
synced 2024-12-01 21:33:04 +00:00
Whenever you boot with nfsv4_server_enable=NO (the default) in rc.conf,
the /etc/rc.d/nfsd script sets vfs.nfsd.server_max_nfsvers to 3. Then, when you set nfsv4_server_enable=YES in rc.conf, and restart nfsd via the rc.d script, without rebooting, the sysctl does *not* get reset to max version 4, so NFSv4 still doesn't work. Fix this by explicitly setting vfs.nfsd.server_max_nfsvers to 4 when NFSv4 is requested. I also added resetting of the nfs_privport sysctls, since this has the same issue: nfs_reserved_port_only=YES in rc.conf sets the nfs_privport sysctl to 1, but in the other case, the sysctl doesn't get reset to 0. Reviewed by: rmacklem Silence from: rc@ MFC after: 3 days
This commit is contained in:
parent
df663c3dd3
commit
66aa9b8dc9
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=227112
@ -29,6 +29,8 @@ nfsd_precmd()
|
||||
if checkyesno nfs_reserved_port_only; then
|
||||
echo 'NFS on reserved port only=YES'
|
||||
sysctl vfs.nfsrv.nfs_privport=1 > /dev/null
|
||||
else
|
||||
sysctl vfs.nfsrv.nfs_privport=0 > /dev/null
|
||||
fi
|
||||
else
|
||||
rc_flags="${nfs_server_flags}"
|
||||
@ -40,9 +42,12 @@ nfsd_precmd()
|
||||
if checkyesno nfs_reserved_port_only; then
|
||||
echo 'NFS on reserved port only=YES'
|
||||
sysctl vfs.nfsd.nfs_privport=1 > /dev/null
|
||||
else
|
||||
sysctl vfs.nfsd.nfs_privport=0 > /dev/null
|
||||
fi
|
||||
|
||||
if checkyesno nfsv4_server_enable; then
|
||||
sysctl vfs.nfsd.server_max_nfsvers=4 > /dev/null
|
||||
if ! checkyesno nfsuserd_enable && \
|
||||
! /etc/rc.d/nfsuserd forcestatus 1>/dev/null 2>&1
|
||||
then
|
||||
|
Loading…
Reference in New Issue
Block a user