Whamcloud - gitweb
LU-7323 test: Unknown symbol mb_cache_create (err 0)" on RHEL7
[fs/lustre-release.git] / lustre / tests / test-framework.sh
index 6c309d1..b7ef7f4 100755 (executable)
@@ -54,16 +54,25 @@ fi
 [ -z "$MODPROBECONF" -a -f /etc/modprobe.conf ] &&
     MODPROBECONF=/etc/modprobe.conf
 
+sanitize_parameters() {
+       for i in DIR DIR1 DIR2 MOUNT MOUNT1 MOUNT2
+       do
+               local path=${!i}
+               if [ -d "$path" ]; then
+                       eval export $i=$(echo $path | sed -E 's/\/+$//g')
+               fi
+       done
+}
 assert_DIR () {
-    local failed=""
-    [[ $DIR/ = $MOUNT/* ]] || \
-        { failed=1 && echo "DIR=$DIR not in $MOUNT. Aborting."; }
-    [[ $DIR1/ = $MOUNT1/* ]] || \
-        { failed=1 && echo "DIR1=$DIR1 not in $MOUNT1. Aborting."; }
-    [[ $DIR2/ = $MOUNT2/* ]] || \
-        { failed=1 && echo "DIR2=$DIR2 not in $MOUNT2. Aborting"; }
+       local failed=""
+       [[ $DIR/ = $MOUNT/* ]] ||
+               { failed=1 && echo "DIR=$DIR not in $MOUNT. Aborting."; }
+       [[ $DIR1/ = $MOUNT1/* ]] ||
+               { failed=1 && echo "DIR1=$DIR1 not in $MOUNT1. Aborting."; }
+       [[ $DIR2/ = $MOUNT2/* ]] ||
+               { failed=1 && echo "DIR2=$DIR2 not in $MOUNT2. Aborting"; }
 
-    [ -n "$failed" ] && exit 99 || true
+       [ -n "$failed" ] && exit 99 || true
 }
 
 usage() {
@@ -560,13 +569,15 @@ load_modules_local() {
     load_module lov/lov
     load_module mgc/mgc
     load_module obdecho/obdecho
-    if ! client_only; then
-        SYMLIST=/proc/kallsyms
-        grep -q crc16 $SYMLIST || { modprobe crc16 2>/dev/null || true; }
-        grep -q -w jbd $SYMLIST || { modprobe jbd 2>/dev/null || true; }
-        grep -q -w jbd2 $SYMLIST || { modprobe jbd2 2>/dev/null || true; }
+       if ! client_only; then
+               SYMLIST=/proc/kallsyms
+               grep -q crc16 $SYMLIST ||
+                       { modprobe crc16 2>/dev/null || true; }
+               grep -q -w jbd2 $SYMLIST ||
+                       { modprobe jbd2 2>/dev/null || true; }
                load_module lfsck/lfsck
-               [ "$LQUOTA" != "no" ] && load_module quota/lquota $LQUOTAOPTS
+               [ "$LQUOTA" != "no" ] &&
+                       load_module quota/lquota $LQUOTAOPTS
                if [[ $(node_fstypes $HOSTNAME) == *zfs* ]]; then
                        modprobe zfs
                        load_module osd-zfs/osd_zfs
@@ -574,6 +585,8 @@ load_modules_local() {
                if [[ $(node_fstypes $HOSTNAME) == *ldiskfs* ]]; then
                        grep -q exportfs_decode_fh $SYMLIST ||
                                { modprobe exportfs 2> /dev/null || true; }
+                       grep -q -w mbcache $SYMLIST ||
+                               { modprobe mbcache 2>/dev/null || true; }
                        load_module ../ldiskfs/ldiskfs
                        load_module osd-ldiskfs/osd_ldiskfs
                fi
@@ -585,7 +598,7 @@ load_modules_local() {
                load_module osp/osp
                load_module ofd/ofd
                load_module osp/osp
-    fi
+       fi
 
        load_module llite/lustre
        llite_lloop_enabled && load_module llite/llite_lloop
@@ -3975,12 +3988,13 @@ is_empty_fs() {
 }
 
 check_and_setup_lustre() {
-    nfs_client_mode && return
+       sanitize_parameters
+       nfs_client_mode && return
        cifs_client_mode && return
 
-    local MOUNTED=$(mounted_lustre_filesystems)
+       local MOUNTED=$(mounted_lustre_filesystems)
 
-    local do_check=true
+       local do_check=true
     # 1.
     # both MOUNT and MOUNT2 are not mounted
     if ! is_mounted $MOUNT && ! is_mounted $MOUNT2; then