Bug 97718

Summary: NFS_QS NFSD_QS /etc/init.d/nfs typo
Product: [Retired] Red Hat Linux Reporter: Matt Schillinger <mschilli>
Component: nfs-serverAssignee: Steve Dickson <steved>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 8.0   
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2004-08-11 11:32:01 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:

Description Matt Schillinger 2003-06-19 18:22:21 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.1) Gecko/20021003

Description of problem:
the file /etc/init.d/nfs has a typo found in RedHat 8 AND RedHat 9.

NFS_QS is set if the variable $NFS_QS has no length to the variable.

However, when the action is called to reference the variable, it is called with
$NFSD_QS. 

The function is to tune NFS input Queues. as it is set now, there is no problem
when using the defaults, but If someone wants to tune nfs input queues to help
NFSD performance, the typo could cause poorer than usual NFS performance.

This typo has been verified on multiple RH8 and RH9 machines.



Version-Release number of selected component (if applicable):
nfs-utils-1.0.1-2

How reproducible:
Always

Steps to Reproduce:
1. look at /etc/init.d/nfs
2.
3.
    

Actual Results:  i found the typo

Expected Results:  typo causes incorrect NFS input queue tuning

Additional info:

# Get the initial values for the input sock queues
# at the time of running the script.
if [ "$TUNE_QUEUE" = "yes" ]; then
    RMEM_DEFAULT=`/sbin/sysctl -n net.core.rmem_default`
    RMEM_MAX=`/sbin/sysctl -n net.core.rmem_max`
    # 256kb recommended minimum size based on SPECsfs NFS benchmarks
    [ -z "$NFS_QS" ] && NFS_QS=262144 ## !!!! THIS IS THE BUG!
fi

# See how we were called.
case "$1" in
  start)
        # Start daemons.
        # Apply input queue increase for nfs server
        if [ "$TUNE_QUEUE" = "yes" ]; then    ###!!! MISMATCH ON
#                                             #  THE NEXT TWO LINES
            /sbin/sysctl -w net.core.rmem_default=$NFSD_QS >/dev/null 2>&1
            /sbin/sysctl -w net.core.rmem_max=$NFSD_QS >/dev/null 2>&1
        fi

Comment 1 Matt Schillinger 2003-06-20 20:50:12 UTC
Discussing with the nfs mailing list has informed me that in RH9, this typo, 
while still a typo, does not affect nfsd performance, as the variable change no 
longer affects nfsd as of the 2.4.20 kernel. setting a new value will not 
affect nfsd as it now intelligently allocates the input queue that is needed.

Comment 2 Steve Dickson 2004-08-11 11:32:01 UTC
This was fixed in later release of nfs-utils