On 12/07/2017 02:13 PM, Stefan Hajnoczi wrote: > From: Paolo Bonzini <pbonz...@redhat.com> > > BDRV_POLL_WHILE() does not support recursive AioContext locking. It > only releases the AioContext lock once regardless of how many times the > caller has acquired it. This results in a hang since the IOThread does > not make progress while the AioContext is still locked. > > The following steps trigger the hang: > > $ qemu-system-x86_64 -M accel=kvm -m 1G -cpu host \ > -object iothread,id=iothread0 \ > -device virtio-scsi-pci,iothread=iothread0 \ > -drive if=none,id=drive0,file=test.img,format=raw \ > -device scsi-hd,drive=drive0 \ > -drive if=none,id=drive1,file=test.img,format=raw \ > -device scsi-hd,drive=drive1 > $ qemu-system-x86_64 ...same options... \ > -incoming tcp::1234 > (qemu) migrate tcp:127.0.0.1:1234 > ...hang... > > Tested-by: Stefan Hajnoczi <stefa...@redhat.com> > Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> > --- > block.c | 14 +++++++++++--- > 1 file changed, 11 insertions(+), 3 deletions(-) >
Reviewed-by: Eric Blake <ebl...@redhat.com> -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org
signature.asc
Description: OpenPGP digital signature