Am 11.09.2014 um 14:49 hat Stefan Hajnoczi geschrieben: > Commit 3718d8ab65f68de2acccbe6a315907805f54e3cc ("block: Replace in_use > with operation blocker") broke the error path because it consumed > local_err instead of propagating it. > > The caller has no way to know that the function failed. This caused > virtio-blk to start "successfully" even though there was a fatal > dataplane error. > > Steps to reproduce: > > $ qemu-system-x86_64 -enable-kvm -object iothread,id=iothread0 \ > -drive if=none,id=drive0,file=a.img \ > (qemu) drive_mirror drive0 /tmp/foo.img > (qemu) device_add virtio-blk-pci,iothread=iothread0,drive=drive0 > > Expected result: > > Since the mirror block job is using drive0 it is not possible to start > virtio-blk data-plane. > > device_add fails and the PCI adapter is not added. > > Actual result: > > device_add completes and the PCI adapter is added. > > Cc: Fam Zheng <f...@redhat.com> > Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com>
Thanks, applied to the block branch. Kevin