linux_dsm_epyc7002/drivers/scsi/qla2xxx
Roland Dreier b2032fd567 qla2xxx: kill sessions/log out initiator on RSCN and port down events
To fix some issues talking to ESX, this patch modifies the qla2xxx driver
so that it never logs into remote ports.  This has the side effect of
getting rid of the "rports" entirely, which means we never log out of
initiators and never tear down sessions when an initiator goes away.

This is mostly OK, except that we can run into trouble if we have
initiator A assigned FC address X:Y:Z by the fabric talking to us, and
then initiator A goes away.  Some time (could be a long time) later,
initiator B comes along and also gets FC address X:Y:Z (which is
available again, because initiator A is gone).  If initiator B starts
talking to us, then we'll still have the session for initiator A, and
since we look up incoming IO based on the FC address X:Y:Z, initiator B
will end up using ACLs for initiator A.

Fix this by:

 1. Handling RSCN events somewhat differently; instead of completely
    skipping the processing of fcports, we look through the list, and if
    an fcport disappears, we tell the target code the tear down the
    session and tell the HBA FW to release the N_Port handle.

 2. Handling "port down" events by flushing all of our sessions.  The
    firmware was already releasing the N_Port handle but we want the
    target code to drop all the sessions too.

Cc: <stable@vger.kernel.org> # v3.18+
Signed-off-by: Roland Dreier <roland@purestorage.com>
Signed-off-by: Alexei Potashnik <alexei@purestorage.com>
Acked-by: Quinn Tran <quinn.tran@qlogic.com>
Signed-off-by: Himanshu Madhani <himanshu.madhani@qlogic.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
2015-07-24 14:19:38 -07:00
..
Kconfig qla2xxx: Add support to load firmware from file for ISP 26XX/27XX. 2015-04-10 08:41:50 -07:00
Makefile
qla_attr.c qla2xxx: Enable target mode for ISP27XX 2015-07-24 14:18:55 -07:00
qla_bsg.c qla2xxx: Add missing ISP27xx checks to optrom code. 2014-09-25 14:25:04 +02:00
qla_bsg.h qla2xxx: Change copyright year to 2014 in all the source files. 2014-05-19 13:31:02 +02:00
qla_dbg.c qla2xxx: kill sessions/log out initiator on RSCN and port down events 2015-07-24 14:19:38 -07:00
qla_dbg.h qla2xxx: Change copyright year to 2014 in all the source files. 2014-05-19 13:31:02 +02:00
qla_def.h qla2xxx: Enable target mode for ISP27XX 2015-07-24 14:18:55 -07:00
qla_devtbl.h
qla_dfs.c scsi: print single-character strings with seq_putc 2015-02-02 09:57:46 -08:00
qla_fw.h qla2xxx: Honor FCP_RSP retry delay timer field. 2014-09-25 14:25:04 +02:00
qla_gbl.h qla2xxx: remove redundant declaration in 'qla_gbl.h' 2014-11-12 11:32:01 +01:00
qla_gs.c qla2xxx: Add FDMI-2 functionality. 2014-09-25 14:25:02 +02:00
qla_init.c qla2xxx: kill sessions/log out initiator on RSCN and port down events 2015-07-24 14:19:38 -07:00
qla_inline.h qla2xxx: Honor FCP_RSP retry delay timer field. 2014-09-25 14:25:04 +02:00
qla_iocb.c qla2xxx: Fix indentation 2015-06-13 08:51:39 -07:00
qla_isr.c qla2xxx: Fix indentation 2015-06-13 08:51:39 -07:00
qla_mbx.c qla2xxx: Enable target mode for ISP27XX 2015-07-24 14:18:55 -07:00
qla_mid.c SCSI misc on 20150416 2015-04-16 19:02:04 -04:00
qla_mr.c scsi: remove abuses of scsi_populate_tag 2014-11-12 11:19:41 +01:00
qla_mr.h qla2xxx: Adjust adapter reset routine to the changes in firmware specification for ISPFx00. 2014-05-19 13:31:03 +02:00
qla_nx2.c qla2xxx: Fix indentation 2015-06-13 08:51:39 -07:00
qla_nx2.h qla2xxx: Check the QLA8044_CRB_DRV_ACTIVE_INDEX register when we are not the owner of the reset. 2014-05-19 13:31:04 +02:00
qla_nx.c qla2xxx: Fix indentation 2015-06-13 08:51:39 -07:00
qla_nx.h qla2xxx: Change copyright year to 2014 in all the source files. 2014-05-19 13:31:02 +02:00
qla_os.c qla2xxx: Enable target mode for ISP27XX 2015-07-24 14:18:55 -07:00
qla_settings.h qla2xxx: Change copyright year to 2014 in all the source files. 2014-05-19 13:31:02 +02:00
qla_sup.c qla2xxx: Enable target mode for ISP27XX 2015-07-24 14:18:55 -07:00
qla_target.c qla2xxx: kill sessions/log out initiator on RSCN and port down events 2015-07-24 14:19:38 -07:00
qla_target.h qla2xxx: adjust debug flags 2015-07-24 14:19:18 -07:00
qla_tmpl.c qla2xxx: Prevent multiple firmware dump collection for ISP27XX. 2015-04-10 08:42:49 -07:00
qla_tmpl.h qla2xxx: ISP27xx fwdump template error print simplification. 2014-09-25 14:25:02 +02:00
qla_version.h qla2xxx: Update driver version to 8.07.00.18-k 2015-04-10 08:43:17 -07:00
tcm_qla2xxx.c qla2xxx: adjust debug flags 2015-07-24 14:19:18 -07:00
tcm_qla2xxx.h target: move transport ID handling to the core 2015-05-30 22:42:30 -07:00