alistair23-linux/drivers/scsi
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
..
aacraid sections: fix section conflicts in drivers/scsi 2012-10-06 03:04:44 +09:00
aic7xxx scsi: fix various printk and comment typos 2012-09-01 08:24:35 -07:00
aic7xxx_old
aic94xx sections: fix section conflicts in drivers/scsi 2012-10-06 03:04:44 +09:00
arcmsr workqueue: deprecate flush[_delayed]_work_sync() 2012-08-20 14:51:24 -07:00
arm Merge branch 'testing/driver-warnings' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc into fixes 2012-10-19 15:40:18 -07:00
be2iscsi [SCSI] be2iscsi: Bump the driver version. 2012-09-14 17:59:28 +01:00
bfa [SCSI] bfa: Update the driver version to 3.1.2.1 2012-10-07 11:29:16 +01:00
bnx2fc SCSI for-linus on 20121002 2012-10-02 19:01:32 -07:00
bnx2i [SCSI] bnx2i: Fixed NULL ptr deference for 1G bnx2 Linux iSCSI offload 2012-09-17 13:40:32 +01:00
cxgbi SCSI misc on 20120724 2012-07-24 18:11:22 -07:00
device_handler [SCSI] scsi_dh_alua: Enable STPG for unavailable ports 2012-09-24 12:21:56 +04:00
dpt
fcoe [SCSI] fcoe: Fix write errors on NPIV ports 2012-10-07 11:49:34 +01:00
fnic
ibmvscsi [SCSI] ibmvscsi: Fix host config length field overflow 2012-09-24 12:11:09 +04:00
isci SCSI for-linus on 20121002 2012-10-02 19:01:32 -07:00
libfc [SCSI] libfc: fix lun reset failure bugs in fc_fcp_resp handling of FCP_RSP_INFO 2012-10-07 11:52:55 +01:00
libsas [SCSI] libsas, ipr: cleanup ata_host flags initialization via ata_host_init 2012-08-24 13:10:24 +04:00
lpfc [SCSI] lpfc 8.3.35: Update lpfc version for 8.3.35 driver release 2012-10-08 12:16:11 +01:00
megaraid [SCSI] megaraid_sas: Version, Changelog, Copyright update 2012-10-09 11:21:48 +01:00
mpt2sas SCSI for-linus on 20121002 2012-10-02 19:01:32 -07:00
mvsas [SCSI] mvsas: Fix oops when ata commond timeout. 2012-09-14 14:48:32 +01:00
osd
pcmcia
pm8001 [SCSI] libsas: trim sas_task of slow path infrastructure 2012-07-20 08:58:54 +01:00
qla2xxx qla2xxx: Update target lookup session tables when a target session changes 2012-10-26 12:29:46 -07:00
qla4xxx SCSI for-linus on 20121002 2012-10-02 19:01:32 -07:00
sym53c8xx_2 scsi: make pci error handlers const 2012-09-07 16:35:00 -06:00
ufs [SCSI] ufs: fix incorrect return value about SUCCESS and FAILED 2012-07-20 08:59:02 +01:00
.gitignore
3w-9xxx.c
3w-9xxx.h
3w-sas.c
3w-sas.h
3w-xxxx.c
3w-xxxx.h
53c700.c
53c700.h
53c700.scr
53c700_d.h_shipped
a100u2w.c
a100u2w.h
a2091.c
a2091.h
a3000.c
a3000.h
a4000t.c
advansys.c
aha152x.c scsi: aha152x: Fix sparse warning and make printing pointer address more portable. 2012-07-20 10:19:25 +02:00
aha152x.h
aha1542.c treewide: Put a space between #include and FILE 2012-06-28 11:44:36 +02:00
aha1542.h
aha1740.c
aha1740.h
aic7xxx_old.c
atari_NCR5380.c
atari_scsi.c
atari_scsi.h
atp870u.c drivers/scsi/atp870u.c: fix bad use of udelay 2012-10-06 03:04:37 +09:00
atp870u.h
BusLogic.c
BusLogic.h
bvme6000_scsi.c
ch.c
constants.c [SCSI] add DID_TARGET_FAILURE and DID_NEXUS_FAILURE to hostbyte_table in constants.c 2012-09-14 11:58:53 +01:00
dc395x.c
dc395x.h
dmx3191d.c
dpt_i2o.c
dpti.h
dtc.c
dtc.h
eata.c
eata_generic.h
eata_pio.c
eata_pio.h
esp_scsi.c
esp_scsi.h
fdomain.c
fdomain.h
FlashPoint.c
g_NCR5380.c
g_NCR5380.h
g_NCR5380_mmio.c
gdth.c
gdth.h gdt: remove unnecessary #defines 2012-09-01 08:43:34 -07:00
gdth_ioctl.h
gdth_proc.c
gdth_proc.h
gvp11.c
gvp11.h
hosts.c [SCSI] Fix device removal NULL pointer dereference 2012-07-20 08:58:40 +01:00
hpsa.c SCSI for-linus on 20121002 2012-10-02 19:01:32 -07:00
hpsa.h [SCSI] hpsa: dial down lockup detection during firmware flash 2012-05-10 09:19:39 +01:00
hpsa_cmd.h [SCSI] hpsa: dial down lockup detection during firmware flash 2012-05-10 09:19:39 +01:00
hptiop.c [SCSI] hptiop: fix RR312x in hosts with >12GB 2012-07-20 08:58:30 +01:00
hptiop.h [SCSI] hptiop: fix RR312x in hosts with >12GB 2012-07-20 08:58:30 +01:00
imm.c
imm.h
in2000.c
in2000.h
initio.c
initio.h
ipr.c Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2012-10-06 03:16:12 +09:00
ipr.h [SCSI] ipr: Driver version 2.5.4 2012-08-24 13:10:28 +04:00
ips.c
ips.h
iscsi_boot_sysfs.c
iscsi_tcp.c [SCSI] iscsi_tcp: increase max_lun to ~0, don't care 2012-09-24 12:10:55 +04:00
iscsi_tcp.h
jazz_esp.c
Kconfig [SCSI] aha152x: Allow use on 64bit systems 2012-07-20 08:59:04 +01:00
lasi700.c
libiscsi.c
libiscsi_tcp.c
libsrp.c
mac53c94.c
mac53c94.h
mac_esp.c
mac_scsi.c
mac_scsi.h
Makefile [SCSI] Remove scsi_wait_scan module 2012-07-20 08:58:13 +01:00
megaraid.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2012-10-01 09:06:36 -07:00
megaraid.h megaraid: remove unnecessary #defines 2012-09-01 08:42:43 -07:00
mesh.c
mesh.h
mvme16x_scsi.c
mvme147.c
mvme147.h
mvumi.c [SCSI] mvumi: Add support for Marvell SAS/SATA RAID-on-Chip(ROC) 88RC9580 2012-10-07 11:34:36 +01:00
mvumi.h [SCSI] mvumi: Add support for Marvell SAS/SATA RAID-on-Chip(ROC) 88RC9580 2012-10-07 11:34:36 +01:00
ncr53c8xx.c
ncr53c8xx.h
NCR53c406a.c
NCR5380.c
NCR5380.h
NCR_D700.c
NCR_D700.h
NCR_Q720.c
NCR_Q720.h
nsp32.c
nsp32.h
nsp32_debug.c
nsp32_io.h
osst.c
osst.h
osst_detect.h
osst_options.h
pas16.c
pas16.h
pmcraid.c workqueue: deprecate flush[_delayed]_work_sync() 2012-08-20 14:51:24 -07:00
pmcraid.h
ppa.c
ppa.h
ps3rom.c
qla1280.c qla1280: Remove redundant NULL check before release_firmware() call 2012-04-30 13:25:43 +02:00
qla1280.h
qlogicfas.c
qlogicfas408.c
qlogicfas408.h
qlogicpti.c
qlogicpti.h
raid_class.c
script_asm.pl
scsi.c [SCSI] async: make async_synchronize_full() flush all work regardless of domain 2012-07-20 09:07:37 +01:00
scsi.h
scsi_debug.c [SCSI] scsi_debug: Fix off-by-one bug when unmapping region 2012-10-09 12:23:11 +01:00
scsi_devinfo.c [SCSI] Disable DIF on Hitachi Ultrastar 15K300 2012-09-24 12:11:00 +04:00
scsi_error.c [SCSI] Shorten the path length of scsi_cmd_to_driver() 2012-10-09 12:04:42 +01:00
scsi_ioctl.c
scsi_lib.c Merge SCSI misc branch into isci-for-3.6 tag 2012-10-02 08:55:12 +01:00
scsi_lib_dma.c
scsi_logging.h
scsi_module.c
scsi_netlink.c scsi_netlink: Remove dead and buggy code 2012-09-13 16:26:39 -04:00
scsi_pm.c [SCSI] scsi_pm: set device runtime state before parent suspended 2012-07-20 08:58:55 +01:00
scsi_priv.h [SCSI] async: introduce 'async_domain' type 2012-07-20 09:05:54 +01:00
scsi_proc.c
scsi_sas_internal.h
scsi_scan.c Merge SCSI misc branch into isci-for-3.6 tag 2012-10-02 08:55:12 +01:00
scsi_sysctl.c
scsi_sysfs.c [SCSI] scsi_remove_target: fix softlockup regression on hot remove 2012-09-24 12:17:49 +04:00
scsi_tgt_if.c
scsi_tgt_lib.c
scsi_tgt_priv.h
scsi_trace.c
scsi_transport_api.h
scsi_transport_fc.c Merge branch 'for-3.6/core' of git://git.kernel.dk/linux-block 2012-08-01 09:02:41 -07:00
scsi_transport_fc_internal.h
scsi_transport_iscsi.c netlink: Rename pid to portid to avoid confusion 2012-09-10 15:30:41 -04:00
scsi_transport_sas.c
scsi_transport_spi.c [SCSI] scsi_transport_spi: fix for unbalanced reference counting 2012-05-10 09:06:12 +01:00
scsi_transport_srp.c
scsi_transport_srp_internal.h
scsi_typedefs.h
scsicam.c
sd.c [SCSI] sd: Ensure we correctly disable devices with unknown protection type 2012-09-24 13:01:24 +04:00
sd.h [SCSI] sd: Avoid remapping bad reference tags 2012-09-24 12:10:59 +04:00
sd_dif.c [SCSI] sd: Avoid remapping bad reference tags 2012-09-24 12:10:59 +04:00
ses.c
sg.c mm: kill vma flag VM_RESERVED and mm->reserved_vm counter 2012-10-09 16:22:19 +09:00
sgiwd93.c
sim710.c scsi: delete the MCA specific drivers and driver code 2012-05-17 19:03:54 -04:00
sni_53c710.c
sr.c
sr.h
sr_ioctl.c
sr_vendor.c
st.c [SCSI] st: remove st_mutex 2012-09-24 13:07:02 +04:00
st.h [SCSI] st: raise device limit 2012-09-14 17:59:29 +01:00
st_options.h
stex.c
storvsc_drv.c [SCSI] storvsc: Account for in-transit packets in the RESET path 2012-10-09 12:28:58 +01:00
sun3_NCR5380.c
sun3_scsi.c
sun3_scsi.h
sun3_scsi_vme.c
sun3x_esp.c
sun_esp.c
sym53c416.c
sym53c416.h
t128.c
t128.h
tmscsim.c
tmscsim.h
u14-34f.c
ultrastor.c
ultrastor.h
virtio_scsi.c [SCSI] virtio-scsi: support online resizing of disks 2012-10-09 11:24:47 +01:00
vmw_pvscsi.c scsi: fix various printk and comment typos 2012-09-01 08:24:35 -07:00
vmw_pvscsi.h
wd33c93.c
wd33c93.h
wd7000.c
zalon.c
zorro7xx.c