summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWill Thompson <wjt@endlessm.com>2018-06-15 18:34:04 +0100
committerDaniel Kiper <daniel.kiper@oracle.com>2018-06-23 21:39:09 +0200
commit0083541593e05704961db229aefea0542446c07c (patch)
tree381e17335681003329fb051e701bcdab0d7e31a3
parent14ec665c3f36d0614cacaa757907551c5c2e6adb (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.in3
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