Note: These patches were posted to the nvme list this morning. I should have cc'd the scsi list as well - so I'm not posting to the scsi list. I fully expect all patches to be pulled via the nvme-4.15 tree then the block tree. A transport may have a transport-specific mechanism that can signal when discovery controller content has changed and request a host to reconnect to the discovery controller. FC is such a transport. RSCNs may be generated by the FC port with the discovery server, with the RSCNs then broadcast to the FC-NVME hosts. A host, upon receiving the RSCN, would validate connectivity then initiate a discovery controller rescan, allowing new subsystems to be connected to or updating subsystem connectivity tables. These patches: - Modify the nvmet core layer to call a transport callback on every subsystem add or remove from a transport port. - Modify the nvmet-fc transport to support the callback, and add its own internal lldd api to generate RSCN's via the lldd. - Modify the lpfc driver to send/receive RSCNs for FC-NVME: transmit the changed attribute RSCN on the target, receiving the RSCN on the initiator and invoking the nvmet-fc transport rescan api. Also adds manual sysfs mechanism to generate the RSCN on the target. Dick Kennedy (1): lpfc: Add sysfs interface to post NVME RSCN James Smart (4): nvmet: call transport on subsystem add and delete nvmet_fc: support transport subsystem events lpfc: Add support to generate RSCN events for nport lpfc: Add NVME rescan support via RSCNs drivers/nvme/target/configfs.c | 2 + drivers/nvme/target/core.c | 10 ++++ drivers/nvme/target/fc.c | 10 ++++ drivers/nvme/target/nvmet.h | 2 + drivers/scsi/lpfc/lpfc.h | 2 + drivers/scsi/lpfc/lpfc_attr.c | 62 ++++++++++++++++++++ drivers/scsi/lpfc/lpfc_crtn.h | 4 ++ drivers/scsi/lpfc/lpfc_els.c | 118 +++++++++++++++++++++++++++++++++++++++ drivers/scsi/lpfc/lpfc_hbadisc.c | 35 ++++++++++++ drivers/scsi/lpfc/lpfc_hw.h | 9 +++ drivers/scsi/lpfc/lpfc_nvme.c | 42 ++++++++++++++ drivers/scsi/lpfc/lpfc_nvmet.c | 18 ++++++ drivers/scsi/lpfc/lpfc_sli.c | 1 + include/linux/nvme-fc-driver.h | 6 ++ 14 files changed, 321 insertions(+) -- 2.13.1