Linux-NVME Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/7] nvmet/nvmet_fc: add events for discovery controller rescan
@ 2019-05-13 22:43 James Smart
  2019-05-13 22:43 ` [PATCH 1/7] nvmet: add transport discovery change op James Smart
                   ` (6 more replies)
  0 siblings, 7 replies; 16+ messages in thread
From: James Smart @ 2019-05-13 22:43 UTC (permalink / raw)


A transport may have a transport-specific mechanism that can signal
when discovery controller content has changed and request a host
to rescan to the discovery controller.

FC is such a transport. RSCNs may be generated by the subsystem's FC
port and sent to the initiator or fabric controller. If a fabric, the
fabric controller will broadcast the RSCN to registered hosts. A host,
upon receiving the RSCN, would validate connectivity then initiate a
discovery controller rescan.

These patches:
- Modify the nvmet core layer to call a transport callback whenever
  a port discovery change occurs.  To facilitate the callback and
  avoid new routines between core. and discovery.c the port structure
  now has a copy of the transport ops structure.
- Modify the nvmet-fc transport to support the nvmet callback, and add
  its own internal lldd api to request the lldd to generate an RSCN.
- Update nvme-fcloop test harness to support the lldd api and invoke
  the rescan on the host.
- Modify the lpfc driver to support the new interfaces:
  - Adds a new routine to transmit an RSCN to the other port (pt2pt)
    or fabric controller.  Add recognition for receipt of an RSCN.
  - Add support for the nvmet lldd api for discovery event, which
    invokes the RSCN transmit.
  - Ties into the RSCN receipt and requests the nvme_fc transport
    to rescan the remote port (discovery event will be posted).
  - Adds a sysfs routine to enable manual generation of an RSCN.

The patches were cut against the nvme-5.2 branch

Due to the dependence of the lpfc mods on the new nvme apis, the
patches are intended to be merged through the nvme tree and *not* the
scsi tree.


James Smart (7):
  nvmet: add transport discovery change op
  nvmet_fc: add transport discovery change event callback support
  nvme-fcloop: Add support for nvmet discovery_event op
  lpfc: Add support to generate RSCN events for nport
  lpfc: add nvmet discovery_event op support
  lpfc: Add support for translating an RSCN rcv into a discovery rescan
  lpfc: Add sysfs interface to post NVME RSCN

 drivers/nvme/target/core.c       |   2 +
 drivers/nvme/target/discovery.c  |   4 ++
 drivers/nvme/target/fc.c         |  11 ++++
 drivers/nvme/target/fcloop.c     |  37 ++++++++++++
 drivers/nvme/target/nvmet.h      |   2 +
 drivers/scsi/lpfc/lpfc.h         |   2 +
 drivers/scsi/lpfc/lpfc_attr.c    |  60 ++++++++++++++++++
 drivers/scsi/lpfc/lpfc_crtn.h    |   4 ++
 drivers/scsi/lpfc/lpfc_els.c     | 127 +++++++++++++++++++++++++++++++++++++++
 drivers/scsi/lpfc/lpfc_hbadisc.c |  35 +++++++++++
 drivers/scsi/lpfc/lpfc_hw.h      |   2 +
 drivers/scsi/lpfc/lpfc_nvme.c    |  44 ++++++++++++++
 drivers/scsi/lpfc/lpfc_nvmet.c   |  17 ++++++
 drivers/scsi/lpfc/lpfc_sli.c     |   1 +
 include/linux/nvme-fc-driver.h   |   6 ++
 15 files changed, 354 insertions(+)

-- 
2.13.7

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

end of thread, other threads:[~2019-05-14 19:04 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-05-13 22:43 [PATCH 0/7] nvmet/nvmet_fc: add events for discovery controller rescan James Smart
2019-05-13 22:43 ` [PATCH 1/7] nvmet: add transport discovery change op James Smart
2019-05-14 10:12   ` Hannes Reinecke
2019-05-13 22:43 ` [PATCH 2/7] nvmet_fc: add transport discovery change event callback support James Smart
2019-05-14 10:17   ` Hannes Reinecke
2019-05-13 22:43 ` [PATCH 3/7] nvme-fcloop: Add support for nvmet discovery_event op James Smart
2019-05-14 10:17   ` Hannes Reinecke
2019-05-13 22:43 ` [PATCH 4/7] lpfc: Add support to generate RSCN events for nport James Smart
2019-05-14 10:20   ` Hannes Reinecke
2019-05-13 22:43 ` [PATCH 5/7] lpfc: add nvmet discovery_event op support James Smart
2019-05-14 10:20   ` Hannes Reinecke
2019-05-13 22:43 ` [PATCH 6/7] lpfc: Add support for translating an RSCN rcv into a discovery rescan James Smart
2019-05-14 10:22   ` Hannes Reinecke
2019-05-14 19:04   ` Arun Easi
2019-05-13 22:43 ` [PATCH 7/7] lpfc: Add sysfs interface to post NVME RSCN James Smart
2019-05-14 10:22   ` Hannes Reinecke

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