public inbox for linux-nvme@lists.infradead.org
 help / color / mirror / Atom feed
* [PATCHv6 0/4] nvmet: unique discovery subsystems
@ 2022-04-20  9:27 Hannes Reinecke
  2022-04-20  9:27 ` [PATCH 1/4] nvmet: make the subsystem type configurable Hannes Reinecke
                   ` (3 more replies)
  0 siblings, 4 replies; 11+ messages in thread
From: Hannes Reinecke @ 2022-04-20  9:27 UTC (permalink / raw)
  To: Sagi Grimberg; +Cc: Christoph Hellwig, Keith Busch, linux-nvme, Hannes Reinecke

Hi all,

here's my next attempt to support unique discovery subsystems.

As per suggestion from Christoph this patchset allows to have a per-port
discovery subsystem. For that a normal NVMe subsystem needs to be created
via configfs, the type needs to be changed to 'discovery', and then linked
into the port where this discovery subsystem should be visible.

Once that is done the discovery log page output will include all ports
into which the same discovery controller is linked.

If the discovery subsystem is unlinked the default behaviour is reinstated.
Additionally a module parameter 'expose_discovery_subsys' is implemented,
which will allow (or, rather, require) the creation of the default discovery subsystem via configfs, too. Once that option is enabled only ports into which
a discovery subsystem is linked will be presenting a discovery service; on
other ports a discovery attempt will fail.

As usual, comments and reviews are welcome.

Changes to v5:
- Implement 'expose_discovery_subsys' module option to allow the creation of
  the standard discovery subsystem via configfs.
Changes to v4:
- Unset disc_subsys pointer when unique discovery subsystem
  gets unlinked
- Improve documentation
- Use port count to determine if a subsystem is linked to ports

Changes to v3:
- Rework to use per-port discovery subsystems as suggested by hch

Changes to v2:
- Heavily rework after discussion on the mailing list

Changes to the original submission:
- Include all subsystems in the discovery log output

Hannes Reinecke (4):
  nvmet: make the subsystem type configurable
  nvmet: per-port discovery subsystem
  nvmet: include all configured ports in the discovery log page
  nvmet: expose discovery subsystem

 drivers/nvme/target/configfs.c  |  80 ++++++++++++++++++++++-
 drivers/nvme/target/core.c      |  15 ++++-
 drivers/nvme/target/discovery.c | 108 +++++++++++++++++++++++++-------
 drivers/nvme/target/nvmet.h     |   2 +
 4 files changed, 176 insertions(+), 29 deletions(-)

-- 
2.29.2



^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2022-05-11  6:27 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-04-20  9:27 [PATCHv6 0/4] nvmet: unique discovery subsystems Hannes Reinecke
2022-04-20  9:27 ` [PATCH 1/4] nvmet: make the subsystem type configurable Hannes Reinecke
2022-05-10 18:36   ` Sagi Grimberg
2022-05-11  5:38     ` Hannes Reinecke
2022-04-20  9:27 ` [PATCH 2/4] nvmet: per-port discovery subsystem Hannes Reinecke
2022-04-20  9:27 ` [PATCH 3/4] nvmet: include all configured ports in the discovery log page Hannes Reinecke
2022-05-10 18:43   ` Sagi Grimberg
2022-05-11  5:41     ` Hannes Reinecke
2022-04-20  9:27 ` [PATCH 4/4] nvmet: expose discovery subsystem Hannes Reinecke
2022-05-10 18:59   ` Sagi Grimberg
2022-05-11  6:27     ` Hannes Reinecke

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox