[PATCHv4 0/5] nvme-fc: FPIN link integrity handling

Muneendra Kumar M muneendra.kumar at broadcom.com
Mon Jun 30 22:21:21 PDT 2025


Hi Hannes,
Thanks for the patch .
We have tested this patch and this is working as designed.
This functionality is a crucial enhancement for Fibre Channel solutions.
This feature perpetuates the capabilities available in dm for NVMe in
previous releases.
With this patch we have a solution for
https://lore.kernel.org/linux-nvme/20250506153507.83094-1-hare@kernel.org/
#r for both SCSI and NVMe.”

Tested-by: Muneendra Kumar <muneendra.kumar at broadcom.com>


Regards,
Muneendra.



>>From: Hannes Reinecke <hare at kernel.org>
>>To: Christoph Hellwig <hch at lst.de>
>>Cc: Keith Busch <kbusch at kernel.org>, Sagi Grimberg <sagi at grimberg.me>,
>>	linux-nvme at lists.infradead.org, Hannes Reinecke <hare at kernel.org>
>>Subject: [PATCHv4 0/5] nvme-fc: FPIN link integrity handling
>>Date: Tue,  6 May 2025 17:35:02 +0200	[thread overview]
>>Message-ID: <20250506153507.83094-1-hare at kernel.org> (raw)
>>
>>FPIN LI (link integrity) messages are received when the attached
>>fabric detects hardware errors. In response to these messages I/O
>>should be directed away from the affected ports, and only used
>>if the 'optimized' paths are unavailable.
>>Upon port reset the paths should be put back in service as the
>>affected hardware might have been replaced.
>>This patch adds a new controller flag 'NVME_CTRL_MARGINAL'
>>which will be checked during multipath path selection, causing the
>>path to be skipped when checking for 'optimized' paths. If no
>>optimized paths are available the 'marginal' paths are considered
>>for path selection alongside the 'non-optimized' paths.
>>It also introduces a new nvme-fc callback 'nvme_fc_fpin_rcv()' to
>>evaluate the FPIN LI TLV payload and set the 'marginal' state on
>>all affected rports.
>>
>>Changes to the original submission:
>>- Changed flag name to 'marginal'
>>- Do not block marginal path; influence path selection instead
>>  to de-prioritize marginal paths
>>
>>Changes to v2:
>>- Split off driver-specific modifications
>>- Introduce 'union fc_tlv_desc' to avoid casts
>>
>>Changes to v3:
>>- Include reviews from Justin Tee
>>- Split marginal path handling patch
>>
>>Hannes Reinecke (5):
>>  fc_els: use 'union fc_tlv_desc'
>>  nvme-fc: marginal path handling
>>  nvme-fc: nvme_fc_fpin_rcv() callback
>>  lpfc: enable FPIN notification for NVMe
>>  qla2xxx: enable FPIN notification for NVMe
>>
>> drivers/nvme/host/core.c         |   1 +
>> drivers/nvme/host/fc.c           |  99 +++++++++++++++++++
>> drivers/nvme/host/multipath.c    |  17 ++--
>> drivers/nvme/host/nvme.h         |   6 ++
>> drivers/scsi/lpfc/lpfc_els.c     |  84 ++++++++--------
>> drivers/scsi/qla2xxx/qla_isr.c   |   3 +
>> drivers/scsi/scsi_transport_fc.c |  27 +++--
>> include/linux/nvme-fc-driver.h   |   3 +
>> include/uapi/scsi/fc/fc_els.h    | 165 +++++++++++++++++--------------
>> 9 files changed, 266 insertions(+), 139 deletions(-)
>>
>>--
>>2.35.3

-- 
This electronic communication and the information and any files transmitted 
with it, or attached to it, are confidential and are intended solely for 
the use of the individual or entity to whom it is addressed and may contain 
information that is confidential, legally privileged, protected by privacy 
laws, or otherwise restricted from disclosure to anyone else. If you are 
not the intended recipient or the person responsible for delivering the 
e-mail to the intended recipient, you are hereby notified that any use, 
copying, distributing, dissemination, forwarding, printing, or copying of 
this e-mail is strictly prohibited. If you received this e-mail in error, 
please return the e-mail to the sender, delete it from your computer, and 
destroy any printed copy of it.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4207 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://lists.infradead.org/pipermail/linux-nvme/attachments/20250701/100f1501/attachment.p7s>


More information about the Linux-nvme mailing list