--- ietd-init.d.orig 2007-10-30 00:35:06.726628685 +0100 +++ ietd-init.d 2007-10-30 00:35:29.347485956 +0100 @@ -32,20 +32,24 @@ } check_memsize() { - for sysctl_key in net.core.{w,r}mem_{max,default}; do - v="$(sysctl -n ${sysctl_key})" - if [ "${v}" -lt "${MEM_SIZE}" ]; then - ewarn "$sysctl_key is lower than recommended ${MEM_SIZE}" - fi + local wr md sysctl_key v k + for wr in r w; do + for md in max default; do + sysctl_key="net.core.${wr}mem_${md}" + v="$(sysctl -n ${sysctl_key})" + if [ "${v}" -lt "${MEM_SIZE}" ]; then + ewarn "$sysctl_key ($v) is lower than recommended ${MEM_SIZE}" + fi + done done - for sysctl_key in net.ipv4.tcp_{,r,w}mem ; do - v="$(sysctl -n ${sysctl_key} | xargs)" - v1="${v/ *}" v2="${v#* }" v3="${v2/* }" v2="${v2/ *}" - min="${v1}" default="${v2}" max="${v3}" + for wr in "" r w; do + sysctl_key="net.ipv4.tcp_${wr}mem" + set -- $(sysctl -n ${sysctl_key}) for k in min default max ; do - if [ "${!k}" -lt "${MEM_SIZE}" ]; then - ewarn "$sysctl_key:$k is lower than recommended ${MEM_SIZE}" + if [ "${1}" -lt "${MEM_SIZE}" ]; then + ewarn "$sysctl_key:$k (${1}) is lower than recommended ${MEM_SIZE}" fi + shift done done } @@ -79,7 +83,7 @@ # ugly, but ietadm does not allways provides correct exit values RETURN="$(ietadm --op delete 2>&1)" RETVAL=$? - if [ $RETVAL == "0" ] && [[ $RETURN != "something wrong" ]]; then + if [ $RETVAL -eq 0 ] && [ "$RETURN" != "something wrong" ]; then eend 0 else eend 1