grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 0/1] grub-fs-tester: fix losetup race


From: Will Thompson
Subject: [PATCH 0/1] grub-fs-tester: fix losetup race
Date: Fri, 15 Jun 2018 18:34:03 +0100

On a build server where other jobs are making use of loop devices, we
occasionally see GRUB's filesystem tests failing with errors like:

  losetup: /tmp/tmp.uMgVEh1vvn/ext2_old_256_1024_1_0.img: failed to set
  up loop device: Device or resource busy

This is because grub-fs-tester runs `losetup --find` to get a free loop
device, then runs `losetup $LODEVICE $FILE` to use it. In between the
two invocations, something else may have started using the free device.

It's easy to reproduce this by running a script like this at the same
time as a fs test:

  while true; do
    x=$(losetup --find --show /path/to/a/file)
    losetup -d $x
  done

The fix is to ask losetup to attach the file to a free loop device, and
print that device to stdout, in a single invocation. (losetup internally
has a retry loop.)

Will Thompson (1):
  grub-fs-tester: fix losetup race

 tests/util/grub-fs-tester.in | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

-- 
2.17.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]