[V2 PATCH 0/4] ZNS: Extra features for current patche
Javier González
javier at javigon.com
Thu Jul 2 02:54:34 EDT 2020
From: Javier González <javier.gonz at samsung.com>
This patchset extends zoned device functionality on top of the existing
ZNS patchset that Keith sent.
Changes since V1
- Remove new IOCTLs for zone management and zone values. I believe we
will need the zone management IOCTL to support new ZNS features in
the near future, but we will wait until we upstream these too. In
the meantime, feedback on the IOCTL is welcome. We drop the zone
values IOCTL completely - Niklas send a patch to expose mar / mor
through sysfs already - we will extend on this if needed.
- Reimplement zone offline transition to be a IOCTL in itself, as the
rest of the existing zone transitions. In the process, implement a
way for drivers to report zone feature support in the newly added
feature flags. Refactor support for capacity to adopt this model.
Here, note that we have maintained behaviour for the scsi driver,
even though zone_size == zone_capacity
- Reimplement the zone count consistency check to do a correct zone
calculation. Move this logic to the initialization logic, instead of
doing it each time we report zones.
Thanks,
Javier
--- V1 cover letter ---
Patches 1-5 are zoned block interface and IOCTL additions to expose ZNS
values to user-space. One major change is the addition of a new zone
management IOCTL that allows to extend zone management commands with
flags. I recall a conversation in the mailing list from early this year
where a similar approach was proposed by Matias, but never made it
upstream. We extended the IOCTL here to align with the comments in that
thread. Here, we are happy to get sign-offs by anyone that contributed
to the thread - just comment here or on the patch.
Patch 6 is nvme-only and adds an extra check to the ZNS report code to
ensure consistency on the zone count.
The patches apply on top of Jens' block-5.8 + Keith's V3 ZNS patches.
Thanks,
Javier
Javier González (4):
block: Add zone flags to queue zone prop.
block: add support for zone offline transition
nvme: Add consistency check for zone count
block: add attributes to zone report
block/blk-core.c | 2 ++
block/blk-zoned.c | 11 +++++++--
drivers/block/null_blk_zoned.c | 2 ++
drivers/nvme/host/core.c | 5 ++++-
drivers/nvme/host/nvme.h | 6 +++--
drivers/nvme/host/zns.c | 41 +++++++++++++++++++++++++++++++++-
drivers/scsi/sd.c | 2 ++
drivers/scsi/sd_zbc.c | 8 +++++--
include/linux/blk_types.h | 3 +++
include/linux/blkdev.h | 4 +++-
include/uapi/linux/blkzoned.h | 29 +++++++++++++++++++++++-
11 files changed, 103 insertions(+), 10 deletions(-)
--
2.17.1
More information about the Linux-nvme
mailing list