From ba44a5c77cac3460a55d4e8c75900b0c78a94b10 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Sat, 27 Aug 2022 16:13:27 +0900 Subject: [PATCH] test-50-dissect: wait for and lock loop block partition devices --- test/units/testsuite-50.sh | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/test/units/testsuite-50.sh b/test/units/testsuite-50.sh index 42c311be26b..e4204fcdc2a 100755 --- a/test/units/testsuite-50.sh +++ b/test/units/testsuite-50.sh @@ -189,11 +189,20 @@ if [ "${HAVE_OPENSSL}" -eq 1 ]; then sfdisk --part-label "${image}.gpt" 3 "Signature Partition" fi loop="$(losetup --show -P -f "${image}.gpt")" -udevadm wait --timeout 60 --settle "${loop:?}" -dd if="${image}.raw" of="${loop}p1" -dd if="${image}.verity" of="${loop}p2" +partitions=( + "${loop:?}p1" + "${loop:?}p2" +) if [ "${HAVE_OPENSSL}" -eq 1 ]; then - dd if="${image}.verity-sig" of="${loop}p3" + partitions+=( "${loop:?}p3" ) +fi +# The kernel sometimes(?) does not emit "add" uevent for loop block partition devices. +# Let's not expect the devices to be initialized. +udevadm wait --timeout 60 --settle --initialized=no "${partitions[@]}" +udevadm lock --device="${loop}p1" dd if="${image}.raw" of="${loop}p1" +udevadm lock --device="${loop}p2" dd if="${image}.verity" of="${loop}p2" +if [ "${HAVE_OPENSSL}" -eq 1 ]; then + udevadm lock --device="${loop}p3" dd if="${image}.verity-sig" of="${loop}p3" fi losetup -d "${loop}" -- 2.47.3