tag namezoned-v4 (f0816afb9d5e50bbc1389b2a74c9534dbcb7068a)
tag date2020-10-22 00:18:16 +0200
tagged byKlaus Jensen <>
tagged objectcommit 8b5b05b9ea...
hw/block/nvme: zoned namespace command set
Changes for v4 ~~~~~~~~~~~~~~ * "hw/block/nvme: add the zone management send command" - Use a pwrite_zeroes for zone reset instead of a discard. Changes for v3 ~~~~~~~~~~~~~~ * Rebased on nvme-next with "[PATCH v2] hw/block/nvme: add dulbe support" applied. * "hw/block/nvme: add support for dulbe and block utilization tracking" - Dropped from this series. This series instead builds on the support for DULBE that I added in "[PATCH v2] hw/block/nvme: add dulbe support", previously posted. * "hw/block/nvme: add the zone management send command" - Use asynchronous discards. * "hw/block/nvme: add basic read/write for zoned namespaces" * "hw/block/nvme: add the zone management receive command" * "hw/block/nvme: add the zone management send command" * "hw/block/nvme: add the zone append command" * "hw/block/nvme: track and enforce zone resources" * "hw/block/nvme: allow open to close zone transitions by controller" - In compliance with the concensus I dropped zone persistence support from all patches. Changes for v2 ~~~~~~~~~~~~~~ * "hw/block/nvme: add support for dulbe and block utilization tracking" - Factor out pstate init/load into separate functions. - Fixed a stupid off-by-1 bug that would trigger when resetting the last zone. - I added a more formalized pstate file format that includes a header. This is pretty similar to what is done in Dmitry's series, but with fewer fields. The device parameters for nvme-ns are still the "authoritative" ones, so if any parameters that influence LBA size, number of zones, etc. do not match, an error indicating the discrepancy will be produced. IIRC, Dmitry's version does the same. It is set up such that newer versions can load pstate files from older versions. The file format header is not unlike a standard