[PATCHv3 0/4] nvme-fc: FPIN link integrity handling
hare at kernel.org
hare at kernel.org
Sun Apr 27 23:36:31 PDT 2025
From: Hannes Reinecke <hare at kernel.org>
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.
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
Hannes Reinecke (4):
fc_els: use 'union fc_tlv_desc'
nvme-fc: marginal path handling
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 | 72 +++++++-------
drivers/scsi/qla2xxx/qla_isr.c | 1 +
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, 256 insertions(+), 135 deletions(-)
--
2.35.3
More information about the Linux-nvme
mailing list