From: Max Reitz <mreitz@redhat.com>
To: Jeff Cody <jcody@redhat.com>, qemu-devel@nongnu.org
Cc: kwolf@redhat.com, amulya.lokesha@emc.com, stefanha@redhat.com
Subject: Re: [Qemu-devel] [PATCH 3/4] block: vhdx - change .vhdx_create default block state to ZERO
Date: Mon, 08 Dec 2014 09:48:50 +0100 [thread overview]
Message-ID: <548565F2.4030502@redhat.com> (raw)
In-Reply-To: <85164899eacc86e150c3ceba793cf93b398dedd7.1418018421.git.jcody@redhat.com>
On 2014-12-08 at 07:07, Jeff Cody wrote:
> The VHDX spec specifies that the default new block state is
> PAYLOAD_BLOCK_NOT_PRESENT for a dynamic VHDX image, and
> PAYLOAD_BLOCK_FULLY_PRESENT for a fixed VHDX image.
>
> However, in order to create space-efficient VHDX images with qemu-img
> convert, it is desirable to be able to set has_zero_init to true for
> VHDX.
>
> There is currently an option when creating VHDX images, to use block
> state ZERO for new blocks. However, this currently defaults to 'off'.
> In order to be able to eventually set has_zero_init to true for VHDX,
> this needs to default to 'on'.
>
> This patch changes the default to 'on', and provides some help
> information to warn against setting it to 'off' when using qemu-img
> convert.
>
> Signed-off-by: Jeff Cody <jcody@redhat.com>
> ---
> block/vhdx.c | 6 ++++--
> qemu-doc.texi | 6 +++++-
> 2 files changed, 9 insertions(+), 3 deletions(-)
>
> diff --git a/block/vhdx.c b/block/vhdx.c
> index bec10bd..ddefc2a 100644
> --- a/block/vhdx.c
> +++ b/block/vhdx.c
> @@ -1774,7 +1774,7 @@ static int vhdx_create(const char *filename, QemuOpts *opts, Error **errp)
> log_size = qemu_opt_get_size_del(opts, VHDX_BLOCK_OPT_LOG_SIZE, 0);
> block_size = qemu_opt_get_size_del(opts, VHDX_BLOCK_OPT_BLOCK_SIZE, 0);
> type = qemu_opt_get_del(opts, BLOCK_OPT_SUBFMT);
> - use_zero_blocks = qemu_opt_get_bool_del(opts, VHDX_BLOCK_OPT_ZERO, false);
> + use_zero_blocks = qemu_opt_get_bool_del(opts, VHDX_BLOCK_OPT_ZERO, true);
>
> if (image_size > VHDX_MAX_IMAGE_SIZE) {
> error_setg_errno(errp, EINVAL, "Image size too large; max of 64TB");
> @@ -1936,7 +1936,9 @@ static QemuOptsList vhdx_create_opts = {
> {
> .name = VHDX_BLOCK_OPT_ZERO,
> .type = QEMU_OPT_BOOL,
> - .help = "Force use of payload blocks of type 'ZERO'. Non-standard."
> + .help = "Force use of payload blocks of type 'ZERO'. "\
> + "Non-standard, but default. Do not set to 'off' when "\
> + "using 'qemu-img convert' with subformat=dynamic"
Full stop missing?
> },
> { NULL }
> }
> diff --git a/qemu-doc.texi b/qemu-doc.texi
> index ad418f8..aabe8df 100644
> --- a/qemu-doc.texi
> +++ b/qemu-doc.texi
> @@ -698,7 +698,11 @@ Supported options:
> Specifies which VHDX subformat to use. Valid options are
> @code{dynamic} (default) and @code{fixed}.
> @item block_state_zero
> -Force use of payload blocks of type 'ZERO'.
> +Force use of payload blocks of type 'ZERO'. Can be set to @code{on} (default)
> +or @code{off}. When set to @code{off}, new blocks will be created as
> +@code{PAYLOAD_BLOCK_NOT_PRESENT}, which means parsers are free to return
> +arbitrary data for those blocks. Do not set to @code{off} when using
> +@code{qemu-img convert} with @code{subformat=dynamic}.
Well, it's fine to use block_state_zero=off with -S 0, but then you
won't get much usage out of having set it to off because all blocks will
be allocated anyway.
> @item block_size
> Block size; min 1 MB, max 256 MB. 0 means auto-calculate based on image size.
> @item log_size
With the full stop added:
Reviewed-by: Max Reitz <mreitz@redhat.com>
next prev parent reply other threads:[~2014-12-08 8:49 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-08 6:07 [Qemu-devel] [PATCH 0/4] VHDX Fixes for zero init Jeff Cody
2014-12-08 6:07 ` [Qemu-devel] [PATCH 1/4] block: vhdx - remove redundant comments Jeff Cody
2014-12-08 8:42 ` Max Reitz
2014-12-12 13:28 ` Stefan Hajnoczi
2014-12-15 9:04 ` Markus Armbruster
2014-12-08 6:07 ` [Qemu-devel] [PATCH 2/4] block: vhdx - update PAYLOAD_BLOCK_UNMAPPED value to match 1.00 spec Jeff Cody
2014-12-08 8:44 ` Max Reitz
2014-12-08 6:07 ` [Qemu-devel] [PATCH 3/4] block: vhdx - change .vhdx_create default block state to ZERO Jeff Cody
2014-12-08 8:48 ` Max Reitz [this message]
2014-12-08 6:07 ` [Qemu-devel] [PATCH 4/4] block: vhdx - set .bdrv_has_zero_init to bdrv_has_zero_init_1 Jeff Cody
2014-12-08 8:50 ` Max Reitz
2014-12-11 4:21 ` Lokesha, Amulya
2014-12-11 9:06 ` Max Reitz
2014-12-12 14:43 ` Lokesha, Amulya
2014-12-12 15:17 ` Jeff Cody
2014-12-12 15:59 ` Lokesha, Amulya
2014-12-17 10:46 ` Lokesha, Amulya
2014-12-17 12:14 ` Jeff Cody
2014-12-23 10:07 ` Lokesha, Amulya
2014-12-23 14:03 ` Jeff Cody
2015-01-06 10:30 ` Lokesha, Amulya
2014-12-12 15:44 ` [Qemu-devel] [PATCH 0/4] VHDX Fixes for zero init Stefan Hajnoczi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=548565F2.4030502@redhat.com \
--to=mreitz@redhat.com \
--cc=amulya.lokesha@emc.com \
--cc=jcody@redhat.com \
--cc=kwolf@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.