From: Ruediger Meier Date: Fri, 9 Mar 2018 02:04:15 +0000 (+0100) Subject: tests: fix losetup race X-Git-Tag: v2.32~38 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c16590f2eed7c9593566d912b18ff3bd57a1babe;p=thirdparty%2Futil-linux.git tests: fix losetup race Also avoid some "no-reentrant" tests. Signed-off-by: Ruediger Meier --- diff --git a/tests/ts/libmount/loop b/tests/ts/libmount/loop index 09e8947619..b52b7476af 100755 --- a/tests/ts/libmount/loop +++ b/tests/ts/libmount/loop @@ -117,38 +117,26 @@ ts_log "Success" ts_finalize_subtest ts_init_subtest "o-loop-val-initialized" -if [ "$TS_PARALLEL" = "yes" ]; then - # There is a race in $LODEV is usage - ts_skip_subtest "no-reentrant" -else - [ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT - LODEV=$( $TS_CMD_LOSETUP --find 2>> $TS_OUTPUT ) - $TS_CMD_LOSETUP $LODEV "$BACKFILE" >> $TS_OUTPUT 2>&1 - $TS_CMD_MOUNT -oloop=$LODEV "$BACKFILE" "$TS_MOUNTPOINT" 2>&1 \ - | sed 's/:.*:/: /; s/for .*/for /' > $TS_OUTPUT - $TS_CMD_LOSETUP --detach $LODEV >> $TS_OUTPUT 2>&1 - udevadm settle - ts_log "Success" - ts_finalize_subtest -fi +[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT +LODEV=$( $TS_CMD_LOSETUP --show -f "$BACKFILE" 2>>$TS_OUTPUT) +$TS_CMD_MOUNT -oloop=$LODEV "$BACKFILE" "$TS_MOUNTPOINT" 2>&1 \ + | sed 's/:.*:/: /; s/for .*/for /' > $TS_OUTPUT +$TS_CMD_LOSETUP --detach $LODEV >> $TS_OUTPUT 2>&1 +udevadm settle +ts_log "Success" +ts_finalize_subtest ts_init_subtest "o-loop-val-conflict" -if [ "$TS_PARALLEL" = "yes" ]; then - # There is a race in $LODEV is usage - ts_skip_subtest "no-reentrant" -else - [ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT - cp "$BACKFILE" "$BACKFILE"-2 - LODEV=$( $TS_CMD_LOSETUP --find 2>> $TS_OUTPUT ) - $TS_CMD_LOSETUP $LODEV "$BACKFILE"-2 >> $TS_OUTPUT 2>&1 - $TS_CMD_MOUNT -oloop=$LODEV "$BACKFILE" "$TS_MOUNTPOINT" 2>&1 \ - | sed 's/:.*:/: /; s/for .*/for /' > $TS_OUTPUT - $TS_CMD_LOSETUP --detach $LODEV >> $TS_OUTPUT 2>&1 - rm "$BACKFILE"-2 - udevadm settle - ts_log "Success" - ts_finalize_subtest -fi +[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT +cp "$BACKFILE" "$BACKFILE"-2 +LODEV=$( $TS_CMD_LOSETUP --show -f "$BACKFILE"-2 2>> $TS_OUTPUT) +$TS_CMD_MOUNT -oloop=$LODEV "$BACKFILE" "$TS_MOUNTPOINT" 2>&1 \ + | sed 's/:.*:/: /; s/for .*/for /' > $TS_OUTPUT +$TS_CMD_LOSETUP --detach $LODEV >> $TS_OUTPUT 2>&1 +rm "$BACKFILE"-2 +udevadm settle +ts_log "Success" +ts_finalize_subtest ts_log "Success" ts_finalize diff --git a/tests/ts/libmount/loop-overlay b/tests/ts/libmount/loop-overlay index df096bf304..fffb823c09 100755 --- a/tests/ts/libmount/loop-overlay +++ b/tests/ts/libmount/loop-overlay @@ -54,8 +54,7 @@ $TS_CMD_UMOUNT "$TS_MOUNTPOINT-1" >> $TS_OUTPUT 2>&1 $TS_CMD_UMOUNT "$TS_MOUNTPOINT-2" >> $TS_OUTPUT 2>&1 echo "both should fail" >>$TS_OUTPUT -LOOPDEV=$($TS_CMD_LOSETUP --find) -$TS_CMD_LOSETUP --offset 1 --sizelimit $OFFSET $LOOPDEV "$IMG" +LOOPDEV=$($TS_CMD_LOSETUP --show -f --offset 1 --sizelimit $OFFSET "$IMG") $TS_CMD_MOUNT -oloop,sizelimit=$OFFSET "$IMG" "$TS_MOUNTPOINT-1" 2>&1 \ | sed 's/:.*:/: /; s/for .*/for /' >> $TS_OUTPUT $TS_CMD_MOUNT -oloop,offset=$OFFSET "$IMG" "$TS_MOUNTPOINT-2" 2>&1 \