Am 28.10.2026 um 19:10 hat Eric Blake geschrieben: > On Wed, Oct 28, 2026 at 06:10:57PM +0100, Kevin Wolf wrote: > > Add a test for the accept-read-only-device option of host_device. > > > > Signed-off-by: Kevin Wolf <[email protected]> > > --- > > tests/qemu-iotests/tests/loop-accept-ro-dev | 87 +++++++++++++++++++ > > .../qemu-iotests/tests/loop-accept-ro-dev.out | 19 ++++ > > 2 files changed, 106 insertions(+) > > create mode 100755 tests/qemu-iotests/tests/loop-accept-ro-dev > > create mode 100644 tests/qemu-iotests/tests/loop-accept-ro-dev.out > > > > > + > > +run_qemu() > > +{ > > + echo -e '{"execute":"qmp_capabilities"}\n{"execute":"quit"}' | > > 'printf %s' is slightly more portable than 'echo -e'; even though this > script uses /bin/bash, you can use 'shopt -s xpg_echo' to break the > latter. On the other hand, this is copy-paste from other tests, so not > a showstopper.
Given that I have to fix the test anyway, I'll change it. > > + do_run_qemu "$@" 2>&1 | _filter_testdir | _filter_qemu | _filter_qmp | > > + _filter_generated_node_ids | _filter_imgfmt | > > + _filter_actual_image_size | _filter_img_info > > +} > > + > > +if ! sudo -n losetup &>/dev/null; then > > + _notrun "sudo losetup not available" > > +fi > > Huh - we seem to have several outstanding patches related to probing > whether losetup is usable: > > https://lists.nongnu.org/archive/html/qemu-devel/2026-10/msg02963.html > https://lists.nongnu.org/archive/html/qemu-devel/2026-10/msg01918.html > > Is this a common enough pattern in our qemu-iotests that we should > factor it out? Maybe. There seem to be four tests (including this one) that use losetup. This can be done in a separate patch, though. > > +++ b/tests/qemu-iotests/tests/loop-accept-ro-dev.out > > @@ -0,0 +1,19 @@ > > +QA output created by loop-accept-ro-dev > > + > > +=== Start QEMU on a loop device after blockdev --setro === > > + > > +Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1048576 > > +Testing: -blockdev host_device,node-name=disk,filename=/dev/loop1 -device > > virtio-blk,drive=disk > > +QEMU_PROG: -blockdev host_device,node-name=disk,filename=/dev/loop1: The > > device is not writable: Permission denied > > + > > +Testing: -blockdev > > host_device,node-name=disk,filename=/dev/loop1,accept-read-only-device=off > > -device virtio-blk,drive=disk > > /dev/loop1 might already be busy, at which point losetup will pick > /dev/loop2 or similar. This output needs to be filtered. Oops, I'm too used to qemu-iotests filtering out all the filenames, but obviously that doesn't work for something outside the scratch directory. Thanks! Kevin
