Whamcloud - gitweb
LU-6707 test: load loop module to have loop devices 30/15130/8
authorWei Liu <wei3.liu@intel.com>
Mon, 20 Jun 2016 20:56:19 +0000 (13:56 -0700)
committerOleg Drokin <oleg.drokin@intel.com>
Thu, 16 Mar 2017 21:38:04 +0000 (21:38 +0000)
Since there is no default loop device on EL7, load
loop module with option max_loop=8 to have loop devices
ready. posix.sh is not going to pass until LU-9102 get
resolved, but first fix the loop device issue.

Change-Id: I9fb9eba15099e5569dbc04fcd4454656a59fdd52
Signed-off-by: Wei Liu <wei3.liu@intel.com>
Reviewed-on: https://review.whamcloud.com/15130
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: James Nunez <james.a.nunez@intel.com>
Tested-by: Jenkins
Reviewed-by: Minh Diep <minh.diep@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
lustre/tests/posix.sh

index 46e9637..19293f5 100755 (executable)
@@ -89,48 +89,52 @@ test_1() {
        local loopdev
        local rc=0
 
        local loopdev
        local rc=0
 
-    # We start at loop1 because posix build uses loop0
-    [ -b /dev/loop/1 ] && loopbase=/dev/loop/
-    [ -b /dev/loop1 ] && loopbase=/dev/loop
-    [ -z "$loopbase" ] && error "/dev/loop/1 and /dev/loop1 gone?"
-
-    for i in `seq 1 7`; do
-        losetup $loopbase$i > /dev/null 2>&1 && continue || true
-        loopdev=$loopbase$i
-        break
-    done
-
-    [ -z "$loopdev" ] && error "Can not find loop device"
-
-    if ! setup_loop_dev $mntpnt $loopdev $tfile; then
-        cleanup_loop_dev "$mntpnt" "$loopdev" "$tfile"
-        error "Setup loop device failed"
-    fi
+       # We start at loop1 because posix build uses loop0
+       [ -b /dev/loop/1 ] && loopbase=/dev/loop/
+       [ -b /dev/loop1 ] && loopbase=/dev/loop
+       if [ -z "$loopbase" ]; then
+               # there is no /dev/loop by default on EL7, LU-6707.
+               load_module loop max_loop=8 || error "load loop module failed"
+               loopbase=/dev/loop
+       fi
 
 
-    # copy the source over to ext mount point
-    if ! cp -af ${POSIX_SRC}/*.* $mntpnt; then
-        cleanup_loop_dev "$mntpnt" "$loopdev" "$tfile"
-        error "Copy POSIX test suite failed"
-    fi
-    export POSIX_SRC=$mntpnt
-    . $POSIX_DIR/posix.cfg
-
-    setup_posix_users $allnodes
-    if ! setup_posix; then
-        delete_posix_users $allnodes
-        cleanup_loop_dev "$POSIX_SRC"
-        cleanup_loop_dev "$mntpnt" "$loopdev" "$tfile"
-        error "Setup POSIX test suite failed"
-    fi
+       for i in $(seq 1 7); do
+               losetup $loopbase$i > /dev/null 2>&1 && continue || true
+               loopdev=$loopbase$i
+               break
+       done
+
+       [ -z "$loopdev" ] && error "Can not find loop device"
+
+       if ! setup_loop_dev $mntpnt $loopdev $tfile; then
+               cleanup_loop_dev "$mntpnt" "$loopdev" "$tfile"
+               error "Setup loop device failed"
+       fi
+
+       # copy the source over to ext mount point
+       if ! cp -af ${POSIX_SRC}/*.* $mntpnt; then
+               cleanup_loop_dev "$mntpnt" "$loopdev" "$tfile"
+               error "Copy POSIX test suite failed"
+       fi
+       export POSIX_SRC=$mntpnt
+       . $POSIX_DIR/posix.cfg
+
+       setup_posix_users $allnodes
+       if ! setup_posix; then
+               delete_posix_users $allnodes
+               cleanup_loop_dev "$POSIX_SRC"
+               cleanup_loop_dev "$mntpnt" "$loopdev" "$tfile"
+               error "Setup POSIX test suite failed"
+       fi
 
 
-    log "Run POSIX test against lustre filesystem"
-    run_posix $MOUNT compare || \
-        error_noexit "Run POSIX testsuite on $MOUNT failed"
+       log "Run POSIX test against lustre filesystem"
+       run_posix $MOUNT compare || \
+               error_noexit "Run POSIX testsuite on $MOUNT failed"
 
 
-    [[ -d "$MOUNT/TESTROOT" ]] && rm -fr $MOUNT/TESTROOT
-    delete_posix_users $allnodes
-    cleanup_loop_dev "$POSIX_SRC"
-    cleanup_loop_dev "$mntpnt" "$loopdev" "$tfile"
+       [[ -d "$MOUNT/TESTROOT" ]] && rm -fr $MOUNT/TESTROOT
+       delete_posix_users $allnodes
+       cleanup_loop_dev "$POSIX_SRC"
+       cleanup_loop_dev "$mntpnt" "$loopdev" "$tfile"
 }
 run_test 1 "install, build, run posix on $BASELINE_FS and lustre, then compare"
 
 }
 run_test 1 "install, build, run posix on $BASELINE_FS and lustre, then compare"