mbox series

[PATCHv2,0/5] nvme support for zoned namespace command set

Message ID 20200618145354.1139350-1-kbusch@kernel.org (mailing list archive)
Headers show
Series nvme support for zoned namespace command set | expand

Message

Keith Busch June 18, 2020, 2:53 p.m. UTC
v1->v2:

  Addressed style/nits/naming (Chaitanya, Martin, Daniel, Javier)

  Added ZNS to the Kconfig info for CONFIG_BLK_DEV_ZONED (Niklas)

  Removed unnecessary ns descriptor's 'if' check (Martin, Niklas)

  Added received reviews (thank you, everyone)

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       |  51 ++++++-
 drivers/nvme/host/zns.c        | 238 +++++++++++++++++++++++++++++++++
 drivers/scsi/sd_zbc.c          |   1 +
 include/linux/nvme.h           | 137 ++++++++++++++++++-
 include/uapi/linux/blkzoned.h  |  15 ++-
 15 files changed, 648 insertions(+), 54 deletions(-)
 create mode 100644 drivers/nvme/host/zns.c