From mboxrd@z Thu Jan 1 00:00:00 1970 From: James Smart Subject: [PATCH 0/5] nvmet/nvmet_fc: add events for discovery controller rescan Date: Sat, 28 Oct 2017 18:14:51 -0700 Message-ID: <20171029011456.12885-1-jsmart2021@gmail.com> Return-path: Received: from mail-pf0-f195.google.com ([209.85.192.195]:54585 "EHLO mail-pf0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751501AbdJ2BPE (ORCPT ); Sat, 28 Oct 2017 21:15:04 -0400 Received: by mail-pf0-f195.google.com with SMTP id n89so7785957pfk.11 for ; Sat, 28 Oct 2017 18:15:04 -0700 (PDT) Sender: linux-scsi-owner@vger.kernel.org List-Id: linux-scsi@vger.kernel.org To: linux-scsi@vger.kernel.org Cc: James Smart 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