On Wed, Jul 01, 2015 at 03:45:50PM +0100, Stefan Hajnoczi wrote: > If mirror has more free buffers than IOV_MAX, preadv(2)/pwritev(2) > EINVAL failures may be encountered. > > It is possible to trigger this by setting granularity to a low value > like 8192. > > This patch stops appending chunks once IOV_MAX is reached. > > The spurious EINVAL failure can be reproduced with a qcow2 image file > and the following QMP invocation: > > qmp.command('drive-mirror', device='virtio0', target='/tmp/r7.s1', > granularity=8192, sync='full', mode='absolute-paths', > format='raw') > > While the guest is running dd if=/dev/zero of=/var/tmp/foo oflag=direct > bs=4k. >
Thanks, Applied to my 'block-next' branch: https://github.com/codyprime/qemu-kvm-jtc/tree/block-next -Jeff