linux/drivers/scsi/qla2xxx
Roland Dreier c8292d1da5 qla2xxx: Update target lookup session tables when a target session changes
It is possible for the target code to change the loop_id or s_id of a
target session in reaction to an FC fabric change.  However, the
session structures are stored in tables that are indexed by these two
keys, and if we just change the session structure but leave the
pointers to it in the old places in the table, havoc can ensue.  For
example, a new session might come along that should go in the old slot
in the table and overwrite the old session pointer.

To handle this, add a new tgt_ops->update_sess() method that also
updates the "by loop_id" and "by s_id" lookup tables when a session
changes, so that the keys where a session pointer is stored in these
tables always matches the keys in the session structure itself.

(nab: Drop unnecessary double inversion with FCF_CONF_COMP_SUPPORTED
      usage)

Signed-off-by: Roland Dreier <roland@purestorage.com>
Cc: Chad Dupuis <chad.dupuis@qlogic.com>
Cc: Arun Easi <arun.easi@qlogic.com>
Cc: Saurav Kashyap <saurav.kashyap@qlogic.com>
Cc: stable@vger.kernel.org
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
2012-10-26 12:29:46 -07:00
..
Kconfig [SCSI] tcm_qla2xxx: Add >= 24xx series fabric module for target-core 2012-05-22 11:49:20 +01:00
Makefile [SCSI] tcm_qla2xxx: Add >= 24xx series fabric module for target-core 2012-05-22 11:49:20 +01:00
qla_attr.c [SCSI] qla2xxx: T10 DIF - ISP83xx changes. 2012-09-24 12:10:54 +04:00
qla_bsg.c [SCSI] qla2xxx: Fix for handling some error conditions in loopback. 2012-09-24 12:10:52 +04:00
qla_bsg.h [SCSI] qla2xxx: Update the driver copyright. 2012-09-24 12:10:49 +04:00
qla_dbg.c [SCSI] qla2xxx: T10 DIF - ISP83xx changes. 2012-09-24 12:10:54 +04:00
qla_dbg.h [SCSI] qla2xxx: Update the driver copyright. 2012-09-24 12:10:49 +04:00
qla_def.h [SCSI] qla2xxx: T10 DIF - ISP83xx changes. 2012-09-24 12:10:54 +04:00
qla_devtbl.h
qla_dfs.c [SCSI] qla2xxx: Update the driver copyright. 2012-09-24 12:10:49 +04:00
qla_fw.h [SCSI] qla2xxx: Update the driver copyright. 2012-09-24 12:10:49 +04:00
qla_gbl.h [SCSI] qla2xxx: Wrong PCIe(2.5Gb/s x8) speed in the kerenel message for ISP82xx. 2012-09-24 12:10:50 +04:00
qla_gs.c [SCSI] qla2xxx: Ensure PLOGI is sent to Fabric Management-Server upon request. 2012-09-24 12:10:51 +04:00
qla_init.c [SCSI] qla2xxx: fix potential deadlock on ha->hardware_lock 2012-10-09 12:27:25 +01:00
qla_inline.h [SCSI] qla2xxx: Update the driver copyright. 2012-09-24 12:10:49 +04:00
qla_iocb.c [SCSI] qla2xxx: T10 DIF - ISP83xx changes. 2012-09-24 12:10:54 +04:00
qla_isr.c [SCSI] qla2xxx: Allow MSI interrupt registration for ISP82xx. 2012-09-24 12:10:55 +04:00
qla_mbx.c [SCSI] qla2xxx: Enable fw attributes for ISP24xx and above. 2012-09-24 12:10:53 +04:00
qla_mid.c qla2xxx: Add missing ->vport_slock while calling qlt_update_vp_map 2012-10-26 12:29:46 -07:00
qla_nx.c SCSI for-linus on 20121002 2012-10-02 19:01:32 -07:00
qla_nx.h [SCSI] qla2xxx: Update the driver copyright. 2012-09-24 12:10:49 +04:00
qla_os.c SCSI for-linus on 20121002 2012-10-02 19:01:32 -07:00
qla_settings.h [SCSI] qla2xxx: Update the driver copyright. 2012-09-24 12:10:49 +04:00
qla_sup.c [SCSI] qla2xxx: Implement beacon support for ISP83xx. 2012-09-24 12:10:49 +04:00
qla_target.c qla2xxx: Update target lookup session tables when a target session changes 2012-10-26 12:29:46 -07:00
qla_target.h qla2xxx: Update target lookup session tables when a target session changes 2012-10-26 12:29:46 -07:00
qla_version.h [SCSI] qla2xxx: Update version number to 8.04.00.07-k. 2012-09-24 12:10:55 +04:00
tcm_qla2xxx.c qla2xxx: Update target lookup session tables when a target session changes 2012-10-26 12:29:46 -07:00
tcm_qla2xxx.h tcm_qla2xxx: Format VPD page 83h SCSI name string according to SPC 2012-10-26 12:29:46 -07:00