From 9083ca591c8cdd3260be88d1de27fd14d916234a Mon Sep 17 00:00:00 2001 From: grev Date: Wed, 17 Sep 2008 20:48:10 +0000 Subject: [PATCH] b=16799 i=Adilger cleanup_obdclass() fix; check_mem_leak t-f fn --- lustre/tests/test-framework.sh | 36 +++++++++++++++++------------------- 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/lustre/tests/test-framework.sh b/lustre/tests/test-framework.sh index c413043..2db0203 100644 --- a/lustre/tests/test-framework.sh +++ b/lustre/tests/test-framework.sh @@ -245,6 +245,19 @@ unload_dep_module() { $RMMOD $MODULE || true } +check_mem_leak () { + LEAK_LUSTRE=$(dmesg | tail -n 30 | grep "obd_memory.*leaked" || true) + LEAK_PORTALS=$(dmesg | tail -n 20 | grep "Portals memory leaked" || true) + if [ "$LEAK_LUSTRE" -o "$LEAK_PORTALS" ]; then + echo "$LEAK_LUSTRE" 1>&2 + echo "$LEAK_PORTALS" 1>&2 + mv $TMP/debug $TMP/debug-leak.`date +%s` || true + log "Memory leaks detected" + [ -n "$IGNORE_LEAK" ] && { echo "ignoring leaks" && return 0; } || true + return 1 + fi +} + unload_modules() { wait_exit_ST client # bug 12845 @@ -268,16 +281,8 @@ unload_modules() { fi HAVE_MODULES=false - LEAK_LUSTRE=$(dmesg | tail -n 30 | grep "obd mem.*leaked" || true) - LEAK_PORTALS=$(dmesg | tail -n 20 | grep "Portals memory leaked" || true) - if [ "$LEAK_LUSTRE" -o "$LEAK_PORTALS" ]; then - echo "$LEAK_LUSTRE" 1>&2 - echo "$LEAK_PORTALS" 1>&2 - mv $TMP/debug $TMP/debug-leak.`date +%s` || true - echo "Memory leaks detected" - [ -n "$IGNORE_LEAK" ] && echo "ignoring leaks" && return 0 - return 254 - fi + check_mem_leak || return 254 + echo "modules unloaded." return 0 } @@ -444,15 +449,8 @@ cleanup_check() { [ -e $TMP/debug ] && mv $TMP/debug $TMP/debug-busy.`date +%s` exit 205 fi - LEAK_LUSTRE=`dmesg | tail -n 30 | grep "obd mem.*leaked" || true` - LEAK_PORTALS=`dmesg | tail -n 20 | grep "Portals memory leaked" || true` - if [ "$LEAK_LUSTRE" -o "$LEAK_PORTALS" ]; then - echo "$0: $LEAK_LUSTRE" 1>&2 - echo "$0: $LEAK_PORTALS" 1>&2 - echo "$0: Memory leak(s) detected..." 1>&2 - mv $TMP/debug $TMP/debug-leak.`date +%s` - exit 204 - fi + + check_mem_leak || exit 204 [ "`lctl dl 2> /dev/null | wc -l`" -gt 0 ] && lctl dl && \ echo "$0: lustre didn't clean up..." 1>&2 && return 202 || true -- 1.8.3.1