#set -vx
set -e
+ONLY=${ONLY:-"$*"}
+
+# bug number for skipped test:
+ALWAYS_EXCEPT="$POSIX_EXCEPT"
+# UPDATE THE COMMENT ABOVE WITH BUG NUMBERS WHEN CHANGING ALWAYS_EXCEPT!
+
+[ "$ALWAYS_EXCEPT$EXCEPT" ] &&
+ echo "Skipping tests: $ALWAYS_EXCEPT $EXCEPT"
+
LUSTRE=${LUSTRE:-$(cd $(dirname $0)/..; echo $PWD)}
. $LUSTRE/tests/test-framework.sh
init_test_env $@
if [[ $(facet_fstype $SINGLEMDS) = zfs ]]; then
BASELINE_FS=zfs
! which $ZFS $ZPOOL >/dev/null 2>&1 &&
- skip_env "need $ZFS and $ZPOOL commands" && exit 0
+ skip_env "need $ZFS and $ZPOOL commands"
POSIX_ZPOOL=$FSNAME-posix
POSIX_ZFS=$POSIX_ZPOOL/${POSIX_ZPOOL##$FSNAME-}
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?"
+ # 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
- for i in `seq 1 7`; do
- losetup $loopbase$i > /dev/null 2>&1 && continue || true
- loopdev=$loopbase$i
- break
- done
+ 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"
+ [ -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
+ 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
+ # 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 $MGSNID $FSNAME 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"