Message ID | 1429090046-6359-3-git-send-email-kwolf@redhat.com |
---|---|
State | New |
Headers | show |
On Wed, Apr 15, 2015 at 11:27:26AM +0200, Kevin Wolf wrote: > Fix the length of the zero-fill for the back, which was accidentally > using the same value as for the front. This is caught by qemu-iotests > 033. > > For consistency, change the code for the front as well to use the length > stored in the iov (it is the same value, copied four lines above). > > Signed-off-by: Kevin Wolf <kwolf@redhat.com> > --- > block/vhdx.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/block/vhdx.c b/block/vhdx.c > index bb3ed45..e24062f 100644 > --- a/block/vhdx.c > +++ b/block/vhdx.c > @@ -1269,7 +1269,7 @@ static coroutine_fn int vhdx_co_writev(BlockDriverState *bs, int64_t sector_num, > iov1.iov_base = qemu_blockalign(bs, iov1.iov_len); > memset(iov1.iov_base, 0, iov1.iov_len); > qemu_iovec_concat_iov(&hd_qiov, &iov1, 1, 0, > - sinfo.block_offset); > + iov1.iov_len); Better form here, although should be identical > sectors_to_write += iov1.iov_len >> BDRV_SECTOR_BITS; > } > > @@ -1285,7 +1285,7 @@ static coroutine_fn int vhdx_co_writev(BlockDriverState *bs, int64_t sector_num, > iov2.iov_base = qemu_blockalign(bs, iov2.iov_len); > memset(iov2.iov_base, 0, iov2.iov_len); > qemu_iovec_concat_iov(&hd_qiov, &iov2, 1, 0, > - sinfo.block_offset); > + iov2.iov_len); Definite bug fix here > sectors_to_write += iov2.iov_len >> BDRV_SECTOR_BITS; > } > } > -- > 1.8.3.1 > Acked-by: Jeff Cody <jcody@redhat.com>
diff --git a/block/vhdx.c b/block/vhdx.c index bb3ed45..e24062f 100644 --- a/block/vhdx.c +++ b/block/vhdx.c @@ -1269,7 +1269,7 @@ static coroutine_fn int vhdx_co_writev(BlockDriverState *bs, int64_t sector_num, iov1.iov_base = qemu_blockalign(bs, iov1.iov_len); memset(iov1.iov_base, 0, iov1.iov_len); qemu_iovec_concat_iov(&hd_qiov, &iov1, 1, 0, - sinfo.block_offset); + iov1.iov_len); sectors_to_write += iov1.iov_len >> BDRV_SECTOR_BITS; } @@ -1285,7 +1285,7 @@ static coroutine_fn int vhdx_co_writev(BlockDriverState *bs, int64_t sector_num, iov2.iov_base = qemu_blockalign(bs, iov2.iov_len); memset(iov2.iov_base, 0, iov2.iov_len); qemu_iovec_concat_iov(&hd_qiov, &iov2, 1, 0, - sinfo.block_offset); + iov2.iov_len); sectors_to_write += iov2.iov_len >> BDRV_SECTOR_BITS; } }
Fix the length of the zero-fill for the back, which was accidentally using the same value as for the front. This is caught by qemu-iotests 033. For consistency, change the code for the front as well to use the length stored in the iov (it is the same value, copied four lines above). Signed-off-by: Kevin Wolf <kwolf@redhat.com> --- block/vhdx.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)