[PATCH v3 0/2] nvme: Enable generic interface (/dev/ngX) for unknown command sets
Joel Granados
j.granados at samsung.com
Wed Jun 22 06:55:54 PDT 2022
Currently block and char interface do not show up for any command set other than
NVM and ZNS. This series enables char interface to come up for unknown command sets.
Patch 1: Is prep. It allows the re-use of nvme_mpath_add_disk for
supported as well as independent command sets.
Patch 2: The following functions become aware of whether the command set is
independent or not: nvme_alloc_ns and nvme_validate_ns. A switch statement
is introduced in each of them to call the relevant helper to identify and
update the namespaces. nvme_update_ns_info_cs_indep is added to update
command set independent devices.
Changes since V2:
- Removed unnecessary include to types.h
- Call nvme_identify_ns_cs_indep only once and reuse the created
independent id in the nvme_alloc_ns call. We call
nvme_identify_ns_cs_indep regardless of ctrl->cap & NVME_CAP_CRMS_CRIMS
value
- Replace 'if' with 'switch' statements making it explicit that the command
set independent functions are used when the command set is not NVM nor
ZNS.
- Set the hidden flag in the multipath case so the block device does not
come up when multipath is enabled.
Changes since V1:
- Use command-set independent id-ns to enable unknown command-sets
Joel Granados (2):
nvme-multipath: refactor nvme_mpath_add_disk
nvme: enable generic interface (/dev/ngXnY) for unknown command sets
drivers/nvme/host/core.c | 132 ++++++++++++++++++++++++----------
drivers/nvme/host/multipath.c | 6 +-
drivers/nvme/host/nvme.h | 5 +-
3 files changed, 98 insertions(+), 45 deletions(-)
--
2.30.2
More information about the Linux-nvme
mailing list