From b7b080bcb0e2cac15174de44b1b822fc11feec02 Mon Sep 17 00:00:00 2001 From: Wei Liu Date: Mon, 20 Jun 2016 13:56:19 -0700 Subject: [PATCH] LU-6707 test: load loop module to have loop devices 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 Reviewed-on: https://review.whamcloud.com/15130 Reviewed-by: Jian Yu Reviewed-by: James Nunez Tested-by: Jenkins Reviewed-by: Minh Diep Tested-by: Maloo Reviewed-by: Oleg Drokin --- lustre/tests/posix.sh | 82 +++++++++++++++++++++++++++------------------------ 1 file changed, 43 insertions(+), 39 deletions(-) diff --git a/lustre/tests/posix.sh b/lustre/tests/posix.sh index 46e9637..19293f5 100755 --- a/lustre/tests/posix.sh +++ b/lustre/tests/posix.sh @@ -89,48 +89,52 @@ test_1() { 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" -- 1.8.3.1