On Sat, Nov 08, 2025 at 04:59:33PM -0600, Eric Blake wrote:
> Test that all images in a qcow2 chain using an NBD backing file can be
> served by the same process. Prior to the recent QIONetListener fixes,
> this test would demonstrate deadlock.
>
> The test borrows heavily from the original formula by "John Doe" in
> the gitlab bug, but uses a Unix socket rather than TCP to avoid port
> contention, and uses a full-blown QEMU rather than qemu-storage-daemon
> since both programs were impacted.
>
> The test starts out with the even simpler task of directly adding an
> NBD client without qcow2 chain ('client'), which also provokes the
> deadlock; but commenting out the 'Adding explicit NBD client' section
> will still show deadlock when reaching the 'Adding wrapper image...'.
>
> Fixes: https://gitlab.com/qemu-project/qemu/-/issues/3169
> Signed-off-by: Eric Blake <[email protected]>
>
> ---
> v2: split out vvfat changes, add an explicit client in addition to the
> implicit one through qcow2
> ---
> tests/qemu-iotests/tests/nbd-in-qcow2-chain | 94 +++++++++++++++++++
> .../qemu-iotests/tests/nbd-in-qcow2-chain.out | 75 +++++++++++++++
> 2 files changed, 169 insertions(+)
> create mode 100755 tests/qemu-iotests/tests/nbd-in-qcow2-chain
> create mode 100644 tests/qemu-iotests/tests/nbd-in-qcow2-chain.out
Reviewed-by: Daniel P. Berrangé <[email protected]>
With regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|