On Oct 19 11:17, Dmitry Fomichev wrote: > diff --git a/hw/block/nvme-ns.h b/hw/block/nvme-ns.h > index d6b2808b97..170cbb8cdc 100644 > --- a/hw/block/nvme-ns.h > +++ b/hw/block/nvme-ns.h > @@ -34,6 +45,18 @@ typedef struct NvmeNamespace { > const uint32_t *iocs; > uint8_t csi; > > + NvmeIdNsZoned *id_ns_zoned; > + NvmeZone *zone_array; > + QTAILQ_HEAD(, NvmeZone) exp_open_zones; > + QTAILQ_HEAD(, NvmeZone) imp_open_zones; > + QTAILQ_HEAD(, NvmeZone) closed_zones; > + QTAILQ_HEAD(, NvmeZone) full_zones;
Apart from the imp_open_zones list that is being used in a later patch to support Implicitly Opened to Closed transitions, these lists seem rather pointless. As far as I can tell the only use they have is being inserted into, removed from and checking if a zone is in one of those four states? The Zone Management Receive (and Send with Select All) is just iterating on all zones and matching on state.
signature.asc
Description: PGP signature