* [Qemu-devel] [PATCH 0/2] Fix VHDX qemu-iotests 033 failure
@ 2015-04-15 9:27 Kevin Wolf
2015-04-15 9:27 ` [Qemu-devel] [PATCH 1/2] blkdebug: Add bdrv_truncate() Kevin Wolf
2015-04-15 9:27 ` [Qemu-devel] [PATCH 2/2] vhdx: Fix zero-fill iov length Kevin Wolf
0 siblings, 2 replies; 5+ messages in thread
From: Kevin Wolf @ 2015-04-15 9:27 UTC (permalink / raw)
To: qemu-block; +Cc: kwolf, jcody, qemu-devel
Kevin Wolf (2):
blkdebug: Add bdrv_truncate()
vhdx: Fix zero-fill iov length
block/blkdebug.c | 6 ++++++
block/vhdx.c | 4 ++--
2 files changed, 8 insertions(+), 2 deletions(-)
--
1.8.3.1
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Qemu-devel] [PATCH 1/2] blkdebug: Add bdrv_truncate()
2015-04-15 9:27 [Qemu-devel] [PATCH 0/2] Fix VHDX qemu-iotests 033 failure Kevin Wolf
@ 2015-04-15 9:27 ` Kevin Wolf
2015-04-15 11:35 ` Jeff Cody
2015-04-15 9:27 ` [Qemu-devel] [PATCH 2/2] vhdx: Fix zero-fill iov length Kevin Wolf
1 sibling, 1 reply; 5+ messages in thread
From: Kevin Wolf @ 2015-04-15 9:27 UTC (permalink / raw)
To: qemu-block; +Cc: kwolf, jcody, qemu-devel
This is, amongst others, required for qemu-iotests 033 to run as
intended on VHDX, which uses explicit bdrv_truncate() calls to bs->file
when allocating new blocks.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
---
block/blkdebug.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/block/blkdebug.c b/block/blkdebug.c
index 63611e0..3c30edb 100644
--- a/block/blkdebug.c
+++ b/block/blkdebug.c
@@ -721,6 +721,11 @@ static int64_t blkdebug_getlength(BlockDriverState *bs)
return bdrv_getlength(bs->file);
}
+static int blkdebug_truncate(BlockDriverState *bs, int64_t offset)
+{
+ return bdrv_truncate(bs->file, offset);
+}
+
static void blkdebug_refresh_filename(BlockDriverState *bs)
{
QDict *opts;
@@ -779,6 +784,7 @@ static BlockDriver bdrv_blkdebug = {
.bdrv_file_open = blkdebug_open,
.bdrv_close = blkdebug_close,
.bdrv_getlength = blkdebug_getlength,
+ .bdrv_truncate = blkdebug_truncate,
.bdrv_refresh_filename = blkdebug_refresh_filename,
.bdrv_aio_readv = blkdebug_aio_readv,
--
1.8.3.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [Qemu-devel] [PATCH 2/2] vhdx: Fix zero-fill iov length
2015-04-15 9:27 [Qemu-devel] [PATCH 0/2] Fix VHDX qemu-iotests 033 failure Kevin Wolf
2015-04-15 9:27 ` [Qemu-devel] [PATCH 1/2] blkdebug: Add bdrv_truncate() Kevin Wolf
@ 2015-04-15 9:27 ` Kevin Wolf
2015-04-15 11:32 ` Jeff Cody
1 sibling, 1 reply; 5+ messages in thread
From: Kevin Wolf @ 2015-04-15 9:27 UTC (permalink / raw)
To: qemu-block; +Cc: kwolf, jcody, qemu-devel
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);
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;
}
}
--
1.8.3.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [PATCH 2/2] vhdx: Fix zero-fill iov length
2015-04-15 9:27 ` [Qemu-devel] [PATCH 2/2] vhdx: Fix zero-fill iov length Kevin Wolf
@ 2015-04-15 11:32 ` Jeff Cody
0 siblings, 0 replies; 5+ messages in thread
From: Jeff Cody @ 2015-04-15 11:32 UTC (permalink / raw)
To: Kevin Wolf; +Cc: qemu-devel, qemu-block
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>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [PATCH 1/2] blkdebug: Add bdrv_truncate()
2015-04-15 9:27 ` [Qemu-devel] [PATCH 1/2] blkdebug: Add bdrv_truncate() Kevin Wolf
@ 2015-04-15 11:35 ` Jeff Cody
0 siblings, 0 replies; 5+ messages in thread
From: Jeff Cody @ 2015-04-15 11:35 UTC (permalink / raw)
To: Kevin Wolf; +Cc: qemu-devel, qemu-block
On Wed, Apr 15, 2015 at 11:27:25AM +0200, Kevin Wolf wrote:
> This is, amongst others, required for qemu-iotests 033 to run as
> intended on VHDX, which uses explicit bdrv_truncate() calls to bs->file
> when allocating new blocks.
>
> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
> ---
> block/blkdebug.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/block/blkdebug.c b/block/blkdebug.c
> index 63611e0..3c30edb 100644
> --- a/block/blkdebug.c
> +++ b/block/blkdebug.c
> @@ -721,6 +721,11 @@ static int64_t blkdebug_getlength(BlockDriverState *bs)
> return bdrv_getlength(bs->file);
> }
>
> +static int blkdebug_truncate(BlockDriverState *bs, int64_t offset)
> +{
> + return bdrv_truncate(bs->file, offset);
> +}
> +
> static void blkdebug_refresh_filename(BlockDriverState *bs)
> {
> QDict *opts;
> @@ -779,6 +784,7 @@ static BlockDriver bdrv_blkdebug = {
> .bdrv_file_open = blkdebug_open,
> .bdrv_close = blkdebug_close,
> .bdrv_getlength = blkdebug_getlength,
> + .bdrv_truncate = blkdebug_truncate,
> .bdrv_refresh_filename = blkdebug_refresh_filename,
>
> .bdrv_aio_readv = blkdebug_aio_readv,
> --
> 1.8.3.1
>
Reviewed-by: Jeff Cody <jcody@redhat.com>
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2015-04-15 11:36 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-04-15 9:27 [Qemu-devel] [PATCH 0/2] Fix VHDX qemu-iotests 033 failure Kevin Wolf
2015-04-15 9:27 ` [Qemu-devel] [PATCH 1/2] blkdebug: Add bdrv_truncate() Kevin Wolf
2015-04-15 11:35 ` Jeff Cody
2015-04-15 9:27 ` [Qemu-devel] [PATCH 2/2] vhdx: Fix zero-fill iov length Kevin Wolf
2015-04-15 11:32 ` Jeff Cody
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).