From: Niklas Cassel <cassel@kernel.org>
To: Sam Li <faithilikerun@gmail.com>
Cc: qemu-devel@nongnu.org, Markus Armbruster <armbru@redhat.com>,
qemu-block@nongnu.org, Eric Blake <eblake@redhat.com>,
Stefan Hajnoczi <stefanha@redhat.com>,
Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>,
dmitry.fomichev@wdc.com, Hanna Reitz <hreitz@redhat.com>,
hare@suse.de, "Michael S. Tsirkin" <mst@redhat.com>,
Kevin Wolf <kwolf@redhat.com>,
dlemoal@kernel.org
Subject: Re: [PATCH v11 1/5] docs/qcow2: add the zoned format feature
Date: Mon, 8 Jun 2026 14:41:42 +0200 [thread overview]
Message-ID: <aia4hizf1Xg05_kx@ryzen> (raw)
In-Reply-To: <20260601214405.252818-2-faithilikerun@gmail.com>
On Mon, Jun 01, 2026 at 11:44:01PM +0200, Sam Li wrote:
> Add the specs for the zoned format feature of the qcow2 driver.
> The qcow2 file then can emulate real zoned devices, either passed
> through by virtio-blk device or NVMe ZNS drive to the guest
> given zoned information.
>
> Signed-off-by: Sam Li <faithilikerun@gmail.com>
> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
> ---
> docs/system/qemu-block-drivers.rst.inc | 47 ++++++++++++++++++++++++++
> 1 file changed, 47 insertions(+)
>
> diff --git a/docs/system/qemu-block-drivers.rst.inc b/docs/system/qemu-block-drivers.rst.inc
> index 675daa72f9..1af968c4fd 100644
> --- a/docs/system/qemu-block-drivers.rst.inc
> +++ b/docs/system/qemu-block-drivers.rst.inc
> @@ -172,6 +172,53 @@ This section describes each format and the options that are supported for it.
> filename`` to check if the NOCOW flag is set or not (Capital 'C' is
> NOCOW flag).
>
> + .. option:: zone.mode
> + If this is set to ``host-managed``, the image is an emulated zoned
> + block device. This option is only valid to emulated zoned device files.
> +
> + .. option:: zone.size
> +
> + The size of a zone in bytes. The device is divided into zones of this
> + size with the exception of the last zone, which may be smaller.
> + Defaults to ``256 MiB``.
> +
> + .. option:: zone.capacity
> +
> + The initial capacity value, in bytes, for all zones. The capacity must
> + be less than or equal to zone size. If the last zone is smaller, then
> + its capacity is capped. Defaults to ``zone.size``.
> +
> + The zone capacity is per zone and may be different between zones in real
> + devices. QCow2 sets all zones to the same capacity.
> +
> + .. option:: zone.conventional_zones
> +
> + The number of conventional zones of the zoned device. Defaults to ``0``
> + (all zones are sequential-write-required).
> +
> + .. option:: zone.max_active_zones
> +
> + The limit of the zones with implicit open, explicit open or closed state.
To make the text slightly less ambiguous, perhaps write this as:
The maximum allowed active zones (zones in the implicit open, explicit open,
or closed state).
> +
> + The max active zones must be less or equal to the number of SWR
> + (sequential write required) zones of the device. Defaults to ``0``,
> + meaning no limit.
> +
> + .. option:: zone.max_open_zones
> +
> + The maximal allowed open zones. The max open zones must not be larger than
The specifications usually use the word maximum instead of maximal.
> + the max active zones. Defaults to ``zone.max_active_zones`` if that is
> + set, otherwise ``0`` (no limit).
> +
> + If the limits of open zones or active zones are equal to the number of
> + SWR zones, then it is the same as having no limits.
> +
> + .. option:: zone.max_append_bytes
> +
> + The number of bytes in a zone append request that can be issued to the
> + device. It must be 512-byte aligned and less than the zone capacity.
> + Defaults to ``64 KiB``.
Perhaps mention what 0 means here.
In the VIRTIO specification, 0 means that zone append requests are not
supported, while in NVMe ZNS, a value of 0 means follow MDTS, and a MDTS
value of 0 means no limit.
Kind regards,
Niklas
next prev parent reply other threads:[~2026-06-08 13:28 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-01 21:44 [PATCH v11 0/5] Add full zoned storage emulation to the qcow2 driver Sam Li
2026-06-01 21:44 ` [PATCH v11 1/5] docs/qcow2: add the zoned format feature Sam Li
2026-06-08 12:41 ` Niklas Cassel [this message]
2026-06-01 21:44 ` [PATCH v11 2/5] qcow2: add configurations for zoned format extension Sam Li
2026-06-02 20:03 ` Stefan Hajnoczi
2026-06-03 7:37 ` Markus Armbruster
2026-06-01 21:44 ` [PATCH v11 3/5] virtio-blk: do not merge writes across a zone boundary Sam Li
2026-06-03 20:41 ` Stefan Hajnoczi
2026-06-08 12:00 ` Niklas Cassel
2026-06-09 16:01 ` Stefan Hajnoczi
2026-06-01 21:44 ` [PATCH v11 4/5] qcow2: add zoned emulation capability Sam Li
2026-06-04 20:51 ` Stefan Hajnoczi
2026-06-01 21:44 ` [PATCH v11 5/5] iotests: test the zoned format feature for qcow2 file Sam Li
2026-06-02 20:06 ` [PATCH v11 0/5] Add full zoned storage emulation to the qcow2 driver Stefan Hajnoczi
2026-06-02 20:07 ` Stefan Hajnoczi
2026-06-02 20:10 ` Sam Li
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=aia4hizf1Xg05_kx@ryzen \
--to=cassel@kernel.org \
--cc=armbru@redhat.com \
--cc=dlemoal@kernel.org \
--cc=dmitry.fomichev@wdc.com \
--cc=eblake@redhat.com \
--cc=faithilikerun@gmail.com \
--cc=hare@suse.de \
--cc=hreitz@redhat.com \
--cc=kwolf@redhat.com \
--cc=mst@redhat.com \
--cc=pierrick.bouvier@oss.qualcomm.com \
--cc=qemu-block@nongnu.org \
--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.