mbox series

[0/2] Zone Descriptor Extension for Zoned Block Devices

Message ID 20200628230102.26990-1-matias.bjorling@wdc.com
Headers show
Series Zone Descriptor Extension for Zoned Block Devices | expand

Message

Matias Bjorling June 28, 2020, 11:01 p.m. UTC
Hi,

This patchset adds support for the Zone Descriptor Extension feature
that is defined in the NVMe Zoned Namespace Command Set.

The feature adds support for associating data to a zone that is in
the Empty state. Upon successful completion, the specified zone
transitions to the Closed state and further writes can be issued
to the zone. The data is lost when the zone at some point transitions
to the Empty state, the Read Only state, or the Offline state. For
example, the lifetime of the data is valid until a zone reset is
issued on the specific zone.

The first patch adds support for the zone_desc_ext_bytes queue sysfs
entry, and the second patch adds a ioctl to allow user-space to
associate data to a specific zone.

Support for the feature can be detected through the zone_desc_ext_bytes
queue sysfs. A value larger than zero indicates support, and zero value
indicates no support.

Best, Matias

Matias Bjørling (2):
  block: add zone_desc_ext_bytes to sysfs
  block: add BLKSETDESCZONE ioctl for Zoned Block Devices

 Documentation/block/queue-sysfs.rst |   6 ++
 block/blk-sysfs.c                   |  15 +++-
 block/blk-zoned.c                   | 108 ++++++++++++++++++++++++++++
 block/ioctl.c                       |   2 +
 drivers/nvme/host/core.c            |   3 +
 drivers/nvme/host/nvme.h            |   9 +++
 drivers/nvme/host/zns.c             |  12 ++++
 drivers/scsi/sd_zbc.c               |   1 +
 include/linux/blk_types.h           |   2 +
 include/linux/blkdev.h              |  31 +++++++-
 include/uapi/linux/blkzoned.h       |  20 +++++-
 11 files changed, 206 insertions(+), 3 deletions(-)