v2->v3: Added warnings for unsupported ZNS drives (Klaus) Fixed double newline Added reviews Background: The NVM Express workgroup has ratified technical proposals enabling new command sets. The specifications may be viewed from the following link: https://nvmexpress.org/wp-content/uploads/NVM-Express-1.4-Ratified-TPs.zip This series implements support for the Zoned Namespace (ZNS) Command Set defined in TP4053, and the Namespace Types base support it depends on from TP4056. As this series depends on the block layer's append support infrastructure, append-capable ZNS devices are required for this patch sets enabling. The block layer is updated to include the new zone writeable capacity feature from ZNS, and existing zone block device drivers are updated to incorporate this feature. Aravind Ramesh (1): null_blk: introduce zone capacity for zoned device Keith Busch (2): nvme: support for multi-command set effects nvme: support for zoned namespaces Matias Bjørling (1): block: add capacity field to zone descriptors Niklas Cassel (1): nvme: implement I/O Command Sets Command Set support block/Kconfig | 5 +- block/blk-zoned.c | 1 + drivers/block/null_blk.h | 1 + drivers/block/null_blk_main.c | 10 +- drivers/block/null_blk_zoned.c | 16 ++- drivers/nvme/host/Makefile | 1 + drivers/nvme/host/core.c | 218 +++++++++++++++++++++++------ drivers/nvme/host/hwmon.c | 2 +- drivers/nvme/host/lightnvm.c | 4 +- drivers/nvme/host/multipath.c | 2 +- drivers/nvme/host/nvme.h | 50 ++++++- drivers/nvme/host/zns.c | 245 +++++++++++++++++++++++++++++++++ drivers/scsi/sd_zbc.c | 1 + include/linux/nvme.h | 137 +++++++++++++++++- include/uapi/linux/blkzoned.h | 15 +- 15 files changed, 654 insertions(+), 54 deletions(-) create mode 100644 drivers/nvme/host/zns.c -- 2.24.1