This patch series serve as a supplement to previous zoned emulation support.
It introduces a new format driver - zoned driver to enable full emulation of
a block device file for a zoned block device on the host.
Each zone of a zoned device makes state transitions following the zone state
machine. The zone state machine mainly describes five states, IMPLICIT OPEN,
EXPLICIT OPEN, FULL, EMPTY and CLOSED. READ ONLY and OFFLINE states will
generally be affected by device internal events. Different operations on zones
cause corresponding state changing, which can be found more on the chart of
following link.
https://zonedstorage.io/docs/introduction/zoned-storage#zone-states-and-state-transitions
Zoned devices have a limit on zone resources, which puts constraints on write
operations into zones.
Sam Li (2):
block: add configs for the zoned format driver
block: introduce the zoned format driver
block/meson.build | 1 +
block/zoned.c | 935 +++++++++++++++++++++++++++++++
include/block/block_int-common.h | 7 +
qapi/block-core.json | 44 +-
4 files changed, 984 insertions(+), 3 deletions(-)
create mode 100644 block/zoned.c
--
2.38.1