Whamcloud - gitweb
Branch HEAD
[fs/lustre-release.git] / lustre / tests / run-llog.sh
index cbe3d2a..9b9fbba 100644 (file)
@@ -1,30 +1,40 @@
 #!/bin/bash
+
+load_llog_test() {
+    grep -q llog_test /proc/modules && return
+    # Module should have been placed with other lustre modules...
+    modprobe llog_test 2>&1 | grep -v "llog_test not found"
+    grep -q llog_test /proc/modules && return
+    # But maybe we're running from a developer tree...
+    insmod ../obdclass/llog_test.ko
+    grep -q llog_test /proc/modules && return
+    # This is for 2.4 kernels (deprecated!)
+    insmod ../obdclass/llog_test.o
+    grep -q llog_test /proc/modules && return
+    echo "Unable to load llog_test module!"
+    false
+    return
+}
+
 PATH=`dirname $0`:`dirname $0`/../utils:$PATH
 TMP=${TMP:-/tmp}
 
-MDS=`find /proc/fs/lustre/mds/* -type d | head -n1 | sed 's/.*\///'`
+MDS=`ls /proc/fs/lustre/mdt | grep -v num_refs | head -n 1`
 [ -z "$MDS" ] && echo "no MDS available, skipping llog test" && exit 0
 
-test "x$(uname -r | grep -o "2.6")" = "x2.6" && MODEXT=ko || MODEXT=o
-
-insmod ../obdclass/llog_test.$MODEXT || exit 1
+load_llog_test || exit 0
 lctl modules > $TMP/ogdb-`hostname`
-
-# take care of UML developers
-[ -f /r/$TMP/ogdb-`hostname` ] && 
-    cp -f $TMP/ogdb-`hostname` /r/$TMP/ogdb-`hostname`
 echo "NOW reload debugging syms.."
 
 RC=0
 lctl <<EOT || RC=2
-newdev
 attach llog_test llt_name llt_uuid
 setup $MDS
 EOT
 
 # Using ignore_errors will allow lctl to cleanup even if the test fails.
 lctl <<EOC
-cfg_device llt_name
+device llt_name
 ignore_errors
 cleanup
 detach