From: Luca Boccassi Date: Fri, 9 Apr 2021 09:56:13 +0000 (+0100) Subject: test-repart: use cryptsetup and losetup autoclose X-Git-Tag: v249-rc1~432 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0efcbecd8b266526bf4a8fd06b9b7e7c5c43566d;p=thirdparty%2Fsystemd.git 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 --- diff --git a/src/partition/test-repart.sh b/src/partition/test-repart.sh index d21865dd647..3696c3cbd6f 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