Patch "zfcp: fix fc_host port_type with NPIV" has been added to the 4.8-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
zfcp: fix fc_host port_type with NPIV
to the 4.8-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
zfcp-fix-fc_host-port_type-with-npiv.patch
and it can be found in the queue-4.8 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
bd77befa5bcff8c51613de271913639edf85fbc2Mon Sep 17 00:00:00 2001
From: Steffen Maier <[email protected]>
Date: Wed, 10 Aug 2016 18:30:44 +0200
Subject: zfcp: fix fc_host port_type with NPIV
From: Steffen Maier <[email protected]>
commit bd77befa5bcff8c51613de271913639edf85fbc2 upstream.
For an NPIV-enabled FCP device, zfcp can erroneously show "NPort (fabric via point-to-point)" instead of "NPIV VPORT" for the port_type sysfs attribute of the corresponding fc_host.
s390-tools that can be affected are dbginfo.sh and ziomon.
zfcp_fsf_exchange_config_evaluate() ignores fsf_qtcb_bottom_config.connection_features indicating NPIV and only sets fc_host_port_type to FC_PORTTYPE_NPORT if fsf_qtcb_bottom_config.fc_topology is FSF_TOPO_FABRIC.
Only the independent zfcp_fsf_exchange_port_evaluate() evaluates connection_features to overwrite fc_host_port_type to FC_PORTTYPE_NPIV in case of NPIV.
Code was introduced with upstream kernel 2.6.30 commit 0282985da5923fa6365adcc1a1586ae0c13c1617 ("[SCSI] zfcp: Report fc_host_port_type as NPIV").
This works during FCP device recovery (such as set online) because it performs FSF_QTCB_EXCHANGE_CONFIG_DATA followed by FSF_QTCB_EXCHANGE_PORT_DATA in sequence.
However, the zfcp-specific scsi host sysfs attributes "requests", "megabytes", or "seconds_active" trigger only zfcp_fsf_exchange_config_evaluate() resetting fc_host port_type to FC_PORTTYPE_NPORT despite NPIV.
The zfcp-specific scsi host sysfs attribute "utilization" triggers only zfcp_fsf_exchange_port_evaluate() correcting the fc_host port_type again in case of NPIV.
Evaluate fsf_qtcb_bottom_config.connection_features in zfcp_fsf_exchange_config_evaluate() where it belongs to.
--- drivers/s390/scsi/zfcp_fsf.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-)
drivers/s390/scsi/zfcp_fsf.c +5 -3
@@ -3,7 +3,7 @@* * Implementation of FSF commands. * -* Copyright IBM Corp. 2002, 2013 +* Copyright IBM Corp. 2002, 2015 */ #define KMSG_COMPONENT "zfcp"
@@ -508,7 +508,10 @@ static int zfcp_fsf_exchange_config_evalfc_host_port_type (shost) =FC_PORTTYPE_PTP ;break ;case FSF_TOPO_FABRIC : -fc_host_port_type (shost) =FC_PORTTYPE_NPORT ; +if (bottom->connection_features &FSF_FEATURE_NPIV_MODE ) +fc_host_port_type (shost) =FC_PORTTYPE_NPIV ; +else +fc_host_port_type (shost) =FC_PORTTYPE_NPORT ;break ;case FSF_TOPO_AL :fc_host_port_type (shost) =FC_PORTTYPE_NLPORT ;
@@ -613,7 +616,6 @@ static void zfcp_fsf_exchange_port_evaluif (adapter->connection_features &FSF_FEATURE_NPIV_MODE ) {fc_host_permanent_port_name (shost) = bottom->wwpn; -fc_host_port_type (shost) =FC_PORTTYPE_NPIV ; }else fc_host_permanent_port_name (shost) =fc_host_port_name (shost);fc_host_maxframe_size (shost) = bottom->maximum_frame_size;
Patches currently in stable-queue which might be from [email protected] are
queue-4.8/zfcp-fix-els-gs-request-response-length-for-hardware-data-router.patch queue-4.8/zfcp-trace-on-request-for-open-and-close-of-wka-port.patch queue-4.8/zfcp-close-window-with-unblocked-rport-during-rport-gone.patch queue-4.8/zfcp-retain-trace-level-for-scsi-and-hba-fsf-response-records.patch queue-4.8/zfcp-restore-dont-use-0-to-indicate-invalid-lun-in-rec-trace.patch queue-4.8/zfcp-fix-fc_host-port_type-with-npiv.patch queue-4.8/zfcp-fix-d_id-field-with-actual-value-on-tracing-san-responses.patch queue-4.8/zfcp-fix-payload-trace-length-for-san-request-response.patch queue-4.8/scsi-zfcp-spin_lock_irqsave-is-not-nestable.patch queue-4.8/zfcp-restore-tracing-of-handle-for-port-and-lun-with-hba-records.patch queue-4.8/zfcp-trace-full-payload-of-all-san-records-req-resp-iels.patch