From b3b77678f47f7650c30af0c42c1ab5cb239f58d9 Mon Sep 17 00:00:00 2001 From: Will Thompson Date: Fri, 15 Jun 2018 18:34:04 +0100 Subject: [PATCH] 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 Reviewed-by: Daniel Kiper --- tests/util/grub-fs-tester.in | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tests/util/grub-fs-tester.in b/tests/util/grub-fs-tester.in index 7587bc020..0b52b3605 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