Whamcloud - gitweb
land 0.5.20.3 b_devel onto HEAD (b_devel will remain)
[fs/lustre-release.git] / lustre / tests / llmountcleanup.sh
index a7a62cb..cd28d21 100755 (executable)
@@ -1,53 +1,40 @@
 #!/bin/sh
 
-SRCDIR="`dirname $0`"
-. $SRCDIR/common.sh
-
-umount /mnt/lustre
-
-killall acceptor
-rmmod llite
-rmmod mdc
-
-$OBDCTL <<EOF
-device 3
-cleanup
-detach
-device 2
-cleanup
-detach
-device 1
-cleanup
-detach
-device 0
-cleanup
-detach
-quit
-EOF
-
-rmmod obdecho
-rmmod mds
-rmmod osc
-rmmod ost
-rmmod obdfilter
-rmmod obdext2
-rmmod ldlm
-rmmod ptlrpc
-rmmod obdclass
-
-$PTLCTL <<EOF
-setup tcp
-disconnect
-del_uuid self
-del_uuid mds
-del_uuid ost
-quit
-EOF
-
-rmmod kqswnal
-rmmod ksocknal
-rmmod portals
-
-losetup -d ${LOOP}0
-losetup -d ${LOOP}1
-losetup -d ${LOOP}2
+LCONF=${LCONF:-../utils/lconf}
+NAME=${NAME:-local}
+TMP=${TMP:-/tmp}
+
+config=$NAME.xml
+mkconfig=$NAME.sh
+
+if [ "$PORTALS" ]; then
+  portals_opt="--portals=$PORTALS"
+fi
+
+if [ "$LUSTRE" ]; then
+  lustre_opt="--lustre=$LUSTRE"
+fi
+
+if [ ! -f $config ]; then
+   sh $mkconfig $config || exit 1
+fi
+
+sync; sleep 2; sync
+${LCONF} $portals_opt $lustre_opt --cleanup --dump $TMP/debug $config
+rc=$?
+BUSY=`dmesg | grep -i destruct`
+if [ "$BUSY" ]; then
+       echo "$BUSY" 1>&2
+       mv $TMP/debug $TMP/debug-busy.`date +%s`
+       exit 255
+fi
+LEAK_LUSTRE=`dmesg | tail -20 | grep -v "leaked: 0" | grep leaked`
+LEAK_PORTALS=`dmesg | tail -20 | grep "Portals memory leaked"`
+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`
+       exit 254
+fi
+
+exit $rc