diff options
author | Will Thompson <wjt@endlessm.com> | 2018-06-15 18:34:04 +0100 |
---|---|---|
committer | Daniel Kiper <daniel.kiper@oracle.com> | 2018-06-23 21:39:09 +0200 |
commit | 0083541593e05704961db229aefea0542446c07c (patch) | |
tree | 381e17335681003329fb051e701bcdab0d7e31a3 | |
parent | 14ec665c3f36d0614cacaa757907551c5c2e6adb (diff) |
grub-fs-tester: Fix losetup race
If something else on the system is using loopback devices, then the
device that's free at the call to `losetup -f` may not be free in the
following call to try to use it. Instead, find and use the first free
loopback device in a single call to losetup.
Signed-off-by: Will Thompson <wjt@endlessm.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
-rw-r--r-- | tests/util/grub-fs-tester.in | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/tests/util/grub-fs-tester.in b/tests/util/grub-fs-tester.in index 26bd57a80..ef65fbc93 100644 --- a/tests/util/grub-fs-tester.in +++ b/tests/util/grub-fs-tester.in @@ -616,9 +616,8 @@ for LOGSECSIZE in $(range "$MINLOGSECSIZE" "$MAXLOGSECSIZE" 1); do mkdir -p "$MNTPOINTRO" for i in $(range 0 $((NDEVICES-1)) 1); do dd if=/dev/zero of="$FSIMAGEP${i}.img" count=1 bs=1 seek=$((DISKSIZE-1)) &> /dev/null - LODEVICE="$(losetup -f)" + LODEVICE=$(losetup --find --show "$FSIMAGEP${i}.img") LODEVICES="$LODEVICES $LODEVICE" - losetup "$LODEVICE" "$FSIMAGEP${i}.img" if test "$i" = 0; then MOUNTDEVICE="$LODEVICE" fi |