Whamcloud - gitweb
Add helper routines to tests/common.sh:
authoradilger <adilger>
Tue, 12 Mar 2002 00:17:41 +0000 (00:17 +0000)
committeradilger <adilger>
Tue, 12 Mar 2002 00:17:41 +0000 (00:17 +0000)
- centralize location for debugctl, obdctl, ptlctl
- automate test filesystem creation
- check if devices exist before trying to create them (avoid error msg)

lustre/tests/common.sh

index 9adf4a2..c388c16 100644 (file)
@@ -2,6 +2,12 @@ if [ -d /r ]; then
   R=/r
 fi
 
+PTLCTL=$R/usr/src/portals/linux/utils/ptlctl
+OBDCTL=$R/usr/src/obd/utils/obdctl
+DEBCTL=$R/usr/src/portals/linux/utils/debugctl
+ACCEPTOR=$R/usr/src/portals/linux/utils/acceptor
+
+LOOPNUM=0; export LOOPNUM
 if [ -b /dev/loop0 ]; then
   LOOP=/dev/loop
 else
@@ -13,13 +19,29 @@ else
   fi
 fi
 
+list_mods() {
+    $DEBCTL modules > $R/tmp/ogdb
+    echo "The GDB module script is in /tmp/ogdb.  Press enter to continue"
+    read
+}
+
+new_fs () {
+    dd if=/dev/zero of=$2 bs=1k count=$3 1>&2 || exit -1
+    mkfs.$1 -b 4096 -F $2 1>&2 || exit -1
+    LOOPDEV=${LOOP}${LOOPNUM}
+    losetup ${LOOPDEV} $2 1>&2 || exit -1
+    LOOPNUM=`expr ${LOOPNUM} + 1`
+}
+
 setup() {
-    mknod /dev/portals c 10 240
+    [ -c /dev/portals ] || mknod /dev/portals c 10 240
 
     insmod $R/usr/src/portals/linux/oslib/portals.o || exit -1
     insmod $R/usr/src/portals/linux/socknal/ksocknal.o || exit -1
 
-    $R/usr/src/portals/linux/utils/acceptor 1234 &
+    $ACCEPTOR 1234 &
+
+    [ -c /dev/obd ] || mknod /dev/obd c 10 241
 
     insmod $R/usr/src/obd/class/obdclass.o || exit -1
     insmod $R/usr/src/obd/rpc/ptlrpc.o || exit -1
@@ -31,20 +53,18 @@ setup() {
     insmod $R/usr/src/obd/mdc/mdc.o || exit -1
     insmod $R/usr/src/obd/llight/llight.o || exit -1
 
-    $R/usr/src/portals/linux/utils/debugctl modules > $R/tmp/ogdb
-    echo "The GDB module script is in /tmp/ogdb.  Press enter to continue"
-    read
+    list_mods
+
+    [ -d /mnt/obd ] || mkdir /mnt/obd
 }
 
 setup_ldlm() {
-    mknod /dev/portals c 10 240
+    [ -c /dev/portals ] || mknod /dev/portals c 10 240
 
     insmod $R/usr/src/portals/linux/oslib/portals.o || exit -1
 
     insmod $R/usr/src/obd/class/obdclass.o || exit -1
     insmod $R/usr/src/obd/ldlm/ldlm.o || exit -1
 
-    $R/usr/src/portals/linux/utils/debugctl modules > $R/tmp/ogdb
-    echo "The GDB module script is in /tmp/ogdb.  Press enter to continue"
-    read
-}
\ No newline at end of file
+    list_mods
+}