Bug 112598

Summary: /etc/init.d/nfs does not respect LOCKD_TCPPORT & LOCKD_UDPPORT
Product: [Fedora] Fedora Reporter: Kevin Street <mm+rhbz>
Component: nfs-utilsAssignee: Steve Dickson <steved>
Status: CLOSED CURRENTRELEASE QA Contact: Ben Levenson <benl>
Severity: medium Docs Contact:
Priority: medium    
Version: 1   
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: nfs-utils-1.0.6-2 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2003-12-27 22:34:21 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
patch for /etc/init.d/nfs
none
Fix that starts and stops nfsd once if necessary to create the needed parameter keys none

Description Kevin Street 2003-12-24 04:19:35 UTC
Description of problem:
setting LOCKD_TCPPORT & LOCKD_UDPPORT in /etc/sysconfig/nfs have no
effect on reboot (but work with service nfs restart)

Version-Release number of selected component (if applicable):
nfs-utils-1.0.6-1

How reproducible:
always on boot
(run rpcinfo -p to confirm that nlockmgr is using random ports)

Steps to Reproduce:
1.as above
2.
3.
  
Actual results:
nlockmgr uses random high ports after boot but uses the correct ports
after service nfs restart

Expected results:
nlockmgr uses the ports specified in /etc/sysconfig/nfs

Additional info:

Comment 1 Kevin Street 2003-12-24 04:41:36 UTC
Created attachment 96688 [details]
patch for /etc/init.d/nfs

two fixes:
- the main problem is that the sysctl -w fs.nfs.nlm_tcpport (& udpport) fails
with "unknown key" when booting.  Moving the call to exportfs before the sysctl
fixes this.  It works ok with service nfs restart.

- the tests like [ -n "LOCKD_TCPPORT ] should be [ -n "$LOCKD_TCPPORT ] but I
believe these are harmless here.

Comment 2 Heiko Ettelbrück 2004-05-27 14:09:36 UTC
Created attachment 100631 [details]
Fix that starts and stops nfsd once if necessary to create the needed parameter keys

With Fedora Core 2 I see the same behaviour (LOCKD_TCPPORT and LOCKD_UDPPORT
have no effect) although Kevin's fix has been integrated into /etc/init.d/nfs.
Even though exportfs is called before trying to set those values via sysctl,
the two calls fail with the well-known message about using an "unknown key", as
Kevin got.

Playing around, it seems that the keys fs.nfs.* are available when the kernel
nfsd has been started at least once, which is done some lines after trying to
set the values in the init script.

--> Fix (that works at least for me):
Start and stop the kernel nfsd once before setting the TCP and UDP ports in
/etc/init.d/nfs (see attached diff).