]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
tests: fix losetup race
authorRuediger Meier <ruediger.meier@ga-group.nl>
Fri, 9 Mar 2018 02:04:15 +0000 (03:04 +0100)
committerRuediger Meier <ruediger.meier@ga-group.nl>
Fri, 9 Mar 2018 08:57:23 +0000 (09:57 +0100)
Also avoid some "no-reentrant" tests.

Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
tests/ts/libmount/loop
tests/ts/libmount/loop-overlay

index 09e89476195ef22ca23a074795adfbe75208af46..b52b7476af93190a5b68372a9170e8da84cba372 100755 (executable)
@@ -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/:.*:/: <target>/; s/for .*/for <source>/' > $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/:.*:/: <target>/; s/for .*/for <source>/' > $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/:.*:/: <target>/; s/for .*/for <source>/' > $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/:.*:/: <target>/; s/for .*/for <source>/' > $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
index df096bf3049c420ab1f4377d6e3ded7bf0b60fa1..fffb823c09e5f56ddb80a22a3955872d85ab5ed5 100755 (executable)
@@ -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/:.*:/: <target>/; s/for .*/for <source>/' >> $TS_OUTPUT
 $TS_CMD_MOUNT -oloop,offset=$OFFSET "$IMG" "$TS_MOUNTPOINT-2" 2>&1 \