Skip to content

Commit 74708d1

Browse files
committed
run_qemu.sh: replace "grep root.img" with losetup --associated
Stop parsing the output of losetup --list losetup has enough options to avoid grep-ping its output and avoid accidentally catching the wrong root.img file. Signed-off-by: Marc Herbert <marc.herbert@intel.com>
1 parent cc5baa6 commit 74708d1

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

run_qemu.sh

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -229,14 +229,14 @@ guest_alive()
229229
[ -e "$qmp_sock" ]
230230
}
231231

232-
rootfs_loop_devs()
232+
loop_devs()
233233
{
234-
sudo losetup --list | grep "$_arg_rootfs" | awk '{ print $1 }'
234+
sudo losetup --noheadings --output NAME --associated "$1"
235235
}
236236

237237
loop_teardown()
238238
{
239-
for loopdev in $(rootfs_loop_devs); do
239+
for loopdev in $(loop_devs "$abs_rootfs"); do
240240
if [ -b "$loopdev" ]; then
241241
sudo umount "${loopdev}p1" || true
242242
sudo umount "${loopdev}p2" || true
@@ -442,6 +442,8 @@ process_options_logic()
442442
set -x
443443
fi
444444

445+
abs_rootfs=$(realpath "${builddir}/${_arg_rootfs}")
446+
445447
arch_init
446448

447449
if [[ $_arg_cxl_test_run == "on" ]]; then
@@ -734,15 +736,15 @@ get_loopdev()
734736
{
735737
local loopdev num_loopdev
736738

737-
loopdev=$(rootfs_loop_devs)
739+
loopdev=$(loop_devs "$abs_rootfs")
738740
# We cannot count newlines with `wc -l` because $( ) trims the trailing
739741
# newline which makes 0 and 1 loopback device give the same count.
740742
num_loopdev=$(grep -c dev/loop <<<"$loopdev")
741743

742744
if (( num_loopdev != 1 )); then
743745
{ lsblk -f || true
744746
sudo losetup --list
745-
fail "Expected 1 loopdev for $_arg_rootfs, found $num_loopdev.
747+
fail "Expected 1 loopdev for $abs_rootfs, found $num_loopdev.
746748
\tTry 'sudo losetup -D' to remove any stale loopdevs"
747749
} >&2 # get_loopdev() stdout is normally captured
748750
fi

0 commit comments

Comments
 (0)