From 059da06d666c9f3caa7f5ad9d663f6acc430095b Mon Sep 17 00:00:00 2001 From: Luca Boccassi Date: Fri, 9 Apr 2021 10:56:13 +0100 Subject: [PATCH] test-repart: use cryptsetup and losetup autoclose The test occasionally fails as the umount is not yet completed when cryptsetup close is invoked. Both cryptsetup and losetup have supported deferred cleanup for some time now, so use it instead to avoid races. ++ losetup -P --show --find /tmp/test-repart.dMOfYQ8UUF/zzz + LOOP=/dev/loop6 + VOLUME=test-repart-11882 + touch /tmp/test-repart.dMOfYQ8UUF/empty-password + cryptsetup open --type=luks2 --key-file=/tmp/test-repart.dMOfYQ8UUF/empty*** test-repart-11882 + mkdir /tmp/test-repart.dMOfYQ8UUF/mount + mount -t ext4 /dev/mapper/test-repart-11882 /tmp/test-repart.dMOfYQ8UUF/mount + diff -r /tmp/test-repart.dMOfYQ8UUF/mount/def /tmp/test-repart.dMOfYQ8UUF/definitions + umount /tmp/test-repart.dMOfYQ8UUF/mount + cryptsetup close test-repart-11882 Device test-repart-11882 is still in use. + rm -rf /tmp/test-repart.dMOfYQ8UUF (cherry picked from commit 0efcbecd8b266526bf4a8fd06b9b7e7c5c43566d) --- src/partition/test-repart.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/partition/test-repart.sh b/src/partition/test-repart.sh index d21865dd64..3696c3cbd6 100755 --- a/src/partition/test-repart.sh +++ b/src/partition/test-repart.sh @@ -200,10 +200,11 @@ EOF cryptsetup open --type=luks2 --key-file=$D/empty-password ${LOOP}p7 $VOLUME mkdir $D/mount mount -t ext4 /dev/mapper/$VOLUME $D/mount + # Use deferred closing on the mapper and autoclear on the loop, so they are cleaned up on umount + cryptsetup close --deferred $VOLUME + losetup -d $LOOP diff -r $D/mount/def $D/definitions > /dev/null umount $D/mount - cryptsetup close $VOLUME - losetup -d $LOOP else echo "### Skipping Format=/Encrypt=/CopyFiles= test, lacking privileges or missing cryptsetup/diff/losetup" fi -- 2.25.1