linux/drivers/scsi/qla2xxx
Nicholas Bellinger 75f8c1f693 [SCSI] tcm_qla2xxx: Add >= 24xx series fabric module for target-core
This patch adds support for tcm_qla2xxx fabric module for target-core
using the new qla_target.c LLD logic.  This includes support for explict
NodeACLs via configfs using tcm_qla2xxx_setup_nacl_from_rport() from libfc
struct fc_host->rports, and demo-mode support for virtual LUN=0 access.

This patch also adds support for using tcm_qla2xxx_lport->lport_fcport_map
and ->lport_loopid_map of btree_head32 to track struct se_node_acl pointers
for individual 24-bit Port ID and 16-bit Loop ID values w/ qla_target_template
->find_sess_by_s_id() and ->find_sess_by_loop_id() used in a number of
locations into the primary I/O dispatch logic in qla_target.c LLD code.

The main piece for FC Nexus setup is in tcm_qla2xxx_check_initiator_node_acl(),
which calls tcm_qla2xxx_set_sess_by_[s_id,loop_id]() to setup our
lport->lport_fcport_map and lport_loopid_map pointers respectively, and
register the new nexus with TCM via __transport_register_session().

(nab: Add qla_tgt_mgmt_cmd usage with TARGET_SCF_ACK_KREF during TMRs +
      change tcm_qla2xxx_nacl->nport_id to u32 (DanC))
(danc: tcm_qla2xxx: checking for NULL instead of IS_ERR())
(roland: Fix up v3.5 breakage for removal of transport_do_task_sg_chain +
         Add hook so qla_target code can shutdown sessions)
(steveh: Convert FC address map from flat array to btree)
(randy: fix qla2xxx printk format warnings for size_t)
(joern: Make most of tcm_qla2xxx static + remove unnecessary
        workqueue_struct prototypes + use WWN_SIZE instead of hard-coded
        constants)

Signed-off-by: Nicholas A. Bellinger <nab@linux-iscsi.org>
Signed-off-by: Chad Dupuis <chad.dupuis@qlogic.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
2012-05-22 11:49:20 +01: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: Add LLD target-mode infrastructure for >= 24xx series 2012-05-22 11:47:51 +01:00
qla_bsg.c [SCSI] Revert "qla2xxx: During loopdown perform Diagnostic loopback." 2012-05-22 11:47:01 +01:00
qla_bsg.h [SCSI] qla2xxx: Provide method for updating I2C attached VPD. 2011-08-29 00:14:57 -07:00
qla_dbg.c [SCSI] qla2xxx: Add LLD target-mode infrastructure for >= 24xx series 2012-05-22 11:47:51 +01:00
qla_dbg.h [SCSI] qla2xxx: Add LLD target-mode infrastructure for >= 24xx series 2012-05-22 11:47:51 +01:00
qla_def.h [SCSI] qla2xxx: Add LLD target-mode infrastructure for >= 24xx series 2012-05-22 11:47:51 +01:00
qla_devtbl.h [SCSI] qla2xxx: fix Kernel Panic with Qlogic 2472 Card. 2009-02-10 11:15:18 -05:00
qla_dfs.c [SCSI] qla2xxx: Enhancements to support ISP83xx. 2012-02-19 08:11:11 -06:00
qla_fw.h [SCSI] qla2xxx: Enhancements to support ISP83xx. 2012-02-19 08:11:11 -06:00
qla_gbl.h [SCSI] qla2xxx: Add LLD target-mode infrastructure for >= 24xx series 2012-05-22 11:47:51 +01:00
qla_gs.c [SCSI] qla2xxx: Add LLD target-mode infrastructure for >= 24xx series 2012-05-22 11:47:51 +01:00
qla_init.c [SCSI] qla2xxx: Add LLD target-mode infrastructure for >= 24xx series 2012-05-22 11:47:51 +01:00
qla_inline.h [SCSI] qla2xxx: Add ha->max_fibre_devices to keep track of the maximum number of targets. 2012-02-19 08:33:13 -06:00
qla_iocb.c [SCSI] qla2xxx: Add LLD target-mode infrastructure for >= 24xx series 2012-05-22 11:47:51 +01:00
qla_isr.c [SCSI] qla2xxx: Add LLD target-mode infrastructure for >= 24xx series 2012-05-22 11:47:51 +01:00
qla_mbx.c [SCSI] qla2xxx: Add LLD target-mode infrastructure for >= 24xx series 2012-05-22 11:47:51 +01:00
qla_mid.c [SCSI] qla2xxx: Add LLD target-mode infrastructure for >= 24xx series 2012-05-22 11:47:51 +01:00
qla_nx.c [SCSI] qla2xxx: Display proper firmware version when new minidump template is gathered for ISP82xx. 2012-05-22 11:45:15 +01:00
qla_nx.h [SCSI] qla2xxx: Corrections to log messages. 2012-05-22 11:39:52 +01:00
qla_os.c [SCSI] qla2xxx: Add LLD target-mode infrastructure for >= 24xx series 2012-05-22 11:47:51 +01:00
qla_settings.h [SCSI] qla2xxx: Update copyright banner. 2011-05-01 10:07:23 -05:00
qla_sup.c [SCSI] qla2xxx: Block flash access from application when device is initialized for ISP82xx. 2012-05-10 08:10:58 +01:00
qla_target.c [SCSI] qla2xxx: Add LLD target-mode infrastructure for >= 24xx series 2012-05-22 11:47:51 +01:00
qla_target.h [SCSI] qla2xxx: Add LLD target-mode infrastructure for >= 24xx series 2012-05-22 11:47:51 +01:00
qla_version.h [SCSI] qla2xxx: Update version number to 8.04.00.03-k. 2012-05-10 08:19:10 +01:00
tcm_qla2xxx.c [SCSI] tcm_qla2xxx: Add >= 24xx series fabric module for target-core 2012-05-22 11:49:20 +01:00
tcm_qla2xxx.h [SCSI] tcm_qla2xxx: Add >= 24xx series fabric module for target-core 2012-05-22 11:49:20 +01:00