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
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.
This was fixed in later release of nfs-utils