Message ID | 20230828150955.3481-2-faithilikerun@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add full zoned storage emulation to qcow2 driver | expand |
On Mon, Aug 28, 2023 at 11:09:52PM +0800, Sam Li wrote: > Add the specs for the zoned format feature of the qcow2 driver. > The qcow2 file can be taken as zoned device and passed through by > virtio-blk device or NVMe ZNS device to the guest given zoned > information. > > Signed-off-by: Sam Li <faithilikerun@gmail.com> > --- > docs/system/qemu-block-drivers.rst.inc | 39 ++++++++++++++++++++++++++ > 1 file changed, 39 insertions(+) > > diff --git a/docs/system/qemu-block-drivers.rst.inc b/docs/system/qemu-block-drivers.rst.inc > index 105cb9679c..640ab151a7 100644 > --- a/docs/system/qemu-block-drivers.rst.inc > +++ b/docs/system/qemu-block-drivers.rst.inc > @@ -172,6 +172,45 @@ 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:: zoned > + The zoned interface of zoned storage divices can different forms which > + is referred to as models. This option uses number to represent, 1 for > + host-managed and 0 for non-zoned. I would simplify this paragraph down to: 1 for a host-managed zoned device or 0 for a non-zoned device. > + > + .. option:: zone_size > + > + The size of a zone of the zoned device in bytes. The device is divided The first sentence is a little confusing due to the repetition of the word "zone". It can be shortened: The size of a zone, in bytes. > + into zones of this size with the exception of the last zone, which may > + be smaller. > + > + .. option:: zone_capacity > + > + The initial capacity value for all zones. The capacity must be less than The initial capacity value, in bytes, for all zones. > + or equal to zone size. If the last zone is smaller, then its capacity is > + capped. The device follows the ZBC protocol tends to have the same size > + as its zone. I think the last sentence says that ZBC devices tend to have capacity == len whereas ZNS devices may have a unique capacity for each zone? You could drop this last sentence completely. > + > + The zone capacity is per zone and may be different between zones in real > + devices. For simplicity, limits QCow2 emulation to the same zone capacity > + for all zones. The last sentence: For simplicity, qcow2 sets all zones to the same capacity. > + > + .. option:: zone_nr_conv > + > + The number of conventional zones of the zoned device. > + > + .. option:: max_open_zones > + > + The maximal allowed open zones. > + > + .. option:: max_active_zones > + > + The limit of the zones with implicit open, explicit open or closed state. > + > + .. option:: max_append_sectors > + > + The maximal sectors in 512B blocks that is allowed to append to zones > + while writing. Rephrasing: The maximum number of 512-byte sectors in a zone append request. > + > .. program:: image-formats > .. option:: qed > > -- > 2.40.1 >
diff --git a/docs/system/qemu-block-drivers.rst.inc b/docs/system/qemu-block-drivers.rst.inc index 105cb9679c..640ab151a7 100644 --- a/docs/system/qemu-block-drivers.rst.inc +++ b/docs/system/qemu-block-drivers.rst.inc @@ -172,6 +172,45 @@ 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:: zoned + The zoned interface of zoned storage divices can different forms which + is referred to as models. This option uses number to represent, 1 for + host-managed and 0 for non-zoned. + + .. option:: zone_size + + The size of a zone of the zoned device in bytes. The device is divided + into zones of this size with the exception of the last zone, which may + be smaller. + + .. option:: zone_capacity + + The initial capacity value 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. The device follows the ZBC protocol tends to have the same size + as its zone. + + The zone capacity is per zone and may be different between zones in real + devices. For simplicity, limits QCow2 emulation to the same zone capacity + for all zones. + + .. option:: zone_nr_conv + + The number of conventional zones of the zoned device. + + .. option:: max_open_zones + + The maximal allowed open zones. + + .. option:: max_active_zones + + The limit of the zones with implicit open, explicit open or closed state. + + .. option:: max_append_sectors + + The maximal sectors in 512B blocks that is allowed to append to zones + while writing. + .. program:: image-formats .. option:: qed
Add the specs for the zoned format feature of the qcow2 driver. The qcow2 file can be taken as zoned device and passed through by virtio-blk device or NVMe ZNS device to the guest given zoned information. Signed-off-by: Sam Li <faithilikerun@gmail.com> --- docs/system/qemu-block-drivers.rst.inc | 39 ++++++++++++++++++++++++++ 1 file changed, 39 insertions(+)