# -*-Shell-script-*- function qmemtune() { local me=nfsqmemtune local varmem; local newmem; local orgval [ "$1" = "-tune" ] && QMEMTUNE= for i in rmem_default rmem_max wmem_default wmem_max; do varmem=$(echo $i |sed 's/.*/\U&\E/') eval newmem=\$$varmem if [ -n "$newmem" ]; then if [ "$1" = "-tune" ]; then mkdir /tmp/$me &>/dev/null cat /proc/sys/net/core/$i > /tmp/${me}/${i}.tmp echo $newmem > /proc/sys/net/core/$i QMEMTUNE=1 elif [ "$1" = "-restore" ]; then orgval=$(cat /tmp/${me}/${i}.tmp) if [ -n "$orgval" ]; then echo $orgval > /proc/sys/net/core/$i fi fi fi done if [ "$1" = "-restore" ]; then rm -rf /tmp/${me} &>/dev/null QMEMTUNE= fi }