]> xenbits.xensource.com Git - qemu-upstream-4.5-testing.git/commit
mirror: Fix qiov size for short requests
authorKevin Wolf <kwolf@redhat.com>
Tue, 1 Jul 2014 14:52:21 +0000 (16:52 +0200)
committerMichael Roth <mdroth@linux.vnet.ibm.com>
Thu, 7 Aug 2014 22:59:15 +0000 (17:59 -0500)
commit3c548f670060ffa835fdf26a67d0a7de926ca8c8
treeb3add9c868b5b806c0d46887dfd8a1accaff0603
parentd0d83e8fe72acf65d1d126c0ac1b06fb8fd489df
mirror: Fix qiov size for short requests

When mirroring an image of a size that is not a multiple of the
mirror job granularity, the last request would have the right nb_sectors
argument, but a qiov that is rounded up to the next multiple of the
granularity. Don't do this.

This fixes a segfault that is caused by raw-posix being confused by this
and allocating a buffer with request length, but operating on it with
qiov length.

[s/Driver/Drive/ in qemu-iotests 041 as suggested by Eric
--Stefan]

Reported-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Tested-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
(cherry picked from commit 5a0f6fd5c84573387056e0464a7fc0c6fb70b2dc)

Conflicts:
tests/qemu-iotests/041.out

*updated 041.out to reflect tests missing from 2.0

Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
block/mirror.c
tests/qemu-iotests/041
tests/qemu-iotests/041.out