linux/drivers/scsi
Matthew R. Ochs d5e26bb1d8 cxlflash: Fix to avoid virtual LUN failover failure
Applications which use virtual LUN's that are backed by a physical LUN
over both adapter ports may experience an I/O failure in the event of a
link loss (e.g. cable pull).

Virtual LUNs may be accessed through one or both ports of the adapter.
This access is encoded in the translation entries that comprise the
virtual LUN and used by the AFU for load-balancing I/O and handling
failover scenarios. In a link loss scenario, even though the AFU is able
to maintain connectivity to the LUN, it is up to the application to
retry the failed I/O. When applications are unaware of the virtual LUN's
underlying topology, they are unable to make a sound decision of when to
retry an I/O and therefore are forced to make their reaction to a failed
I/O absolute. The result is either a failure to retry I/O or increased
latency for scenarios where a retry is pointless.

To remedy this scenario, provide feedback back to the application on
virtual LUN creation as to which ports the LUN may be accessed. LUN's
spanning both ports are candidates for a retry in a presence of an I/O
failure.

Signed-off-by: Matthew R. Ochs <mrochs@linux.vnet.ibm.com>
Acked-by: Manoj Kumar <manoj@linux.vnet.ibm.com>
Reviewed-by: Uma Krishnan <ukrishn@linux.vnet.ibm.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2016-01-06 20:50:08 -05:00
..
aacraid aacraid: aac_release_resources() can be static 2015-11-25 22:27:30 -05:00
aic7xxx scsi: use host wide tags by default 2015-11-09 17:11:57 -08:00
aic94xx scsi: Centralise ssp frame information units 2015-11-25 22:12:50 -05:00
arcmsr arcmsr: change driver version to v1.30.00.22-20151126 2015-11-30 18:51:20 -05:00
arm scsi: Do not set cmd_per_lun to 1 in the host template 2015-05-31 18:06:28 -07:00
be2iscsi SCSI queue for 4.4. 2015-11-12 07:06:18 -05:00
bfa bfa: Update driver version to 3.2.25.0 2015-12-02 17:07:57 -05:00
bnx2fc bnx2fc: Update version number to 2.9.6. 2015-11-09 17:32:34 -08:00
bnx2i bnx2i: Fix call trace while device reset 2015-06-02 17:15:24 -07:00
csiostor scsi: use host wide tags by default 2015-11-09 17:11:57 -08:00
cxgbi drivers/scsi/cxgbi: fix build with EXTRA_CFLAGS 2015-11-09 15:11:24 -08:00
cxlflash cxlflash: Fix to avoid virtual LUN failover failure 2016-01-06 20:50:08 -05:00
device_handler scsi_dh_alua: Remove stale variables 2015-12-07 20:11:25 -05:00
dpt
esas2r scsi: use host wide tags by default 2015-11-09 17:11:57 -08:00
fcoe scsi: use host wide tags by default 2015-11-09 17:11:57 -08:00
fnic scsi: use host wide tags by default 2015-11-09 17:11:57 -08:00
hisi_sas hisi_sas: use platform_get_irq() 2015-12-16 22:32:37 -05:00
ibmvscsi SCSI queue for 4.4. 2015-11-12 07:06:18 -05:00
isci SCSI queue for 4.4. 2015-11-12 07:06:18 -05:00
libfc libfc: Use the correct function name in kernel-doc comment. 2015-11-09 17:15:52 -08:00
libsas Merge branch 'for-4.0-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata 2015-03-24 17:08:29 -07:00
lpfc lpfc: Update version to 11.0.0.10 for upstream patch set 2015-12-21 22:08:49 -05:00
megaraid SCSI queue for 4.4. 2015-11-12 07:06:18 -05:00
mpt3sas mpt3sas: A correction in unmap_resources 2016-01-06 15:10:37 -05:00
mvsas mvsas: Add SGPIO support to Marvell 94xx 2016-01-06 15:18:49 -05:00
osd osd: fix signed char versus %02x issue 2015-12-10 13:14:56 -05:00
pcmcia scsi: Do not set cmd_per_lun to 1 in the host template 2015-05-31 18:06:28 -07:00
pm8001 SCSI queue for 4.4. 2015-11-12 07:06:18 -05:00
qla2xxx qla2xxx: Remove unavailable firmware files 2015-11-18 12:03:29 -05:00
qla4xxx SCSI misc on 20151113 2015-11-13 20:35:54 -08:00
snic SCSI misc on 20151113 2015-11-13 20:35:54 -08:00
sym53c8xx_2
ufs scsi: ufs: fix spelling mistake in error message 2015-11-30 20:52:33 -05:00
.gitignore
3w-9xxx.c 3w-9xxx: don't unmap bounce buffered commands 2015-10-07 10:24:48 -07:00
3w-9xxx.h 3w-9xxx: fix command completion race 2015-04-27 10:10:19 -07:00
3w-sas.c 3w-sas: fix command completion race 2015-04-27 10:04:39 -07:00
3w-sas.h 3w-sas: fix command completion race 2015-04-27 10:04:39 -07:00
3w-xxxx.c 3w-xxxx: fix command completion race 2015-04-27 10:05:55 -07:00
3w-xxxx.h 3w-xxxx: fix command completion race 2015-04-27 10:05:55 -07:00
53c700_d.h_shipped
53c700.c scsi: use host wide tags by default 2015-11-09 17:11:57 -08:00
53c700.h
53c700.scr
a100u2w.c scsi: a100u2w: trivial typo in printk 2015-08-07 15:03:42 +02:00
a100u2w.h
a2091.c
a2091.h
a3000.c
a3000.h
a4000t.c
advansys.c scsi: use host wide tags by default 2015-11-09 17:11:57 -08:00
aha152x.c scsi: Do not set cmd_per_lun to 1 in the host template 2015-05-31 18:06:28 -07:00
aha152x.h
aha1542.c scsi: Do not set cmd_per_lun to 1 in the host template 2015-05-31 18:06:28 -07:00
aha1542.h aha1542: fix include guard and remove useless changelog 2015-04-09 18:08:31 -07:00
aha1740.c scsi: Do not set cmd_per_lun to 1 in the host template 2015-05-31 18:06:28 -07:00
aha1740.h scsi: Do not set cmd_per_lun to 1 in the host template 2015-05-31 18:06:28 -07:00
am53c974.c am53c974: Fix crash during modprobe 2015-04-17 10:13:56 -07:00
atari_NCR5380.c ncr5380: Harmonize jiffies conversion with msecs_to_jiffies 2015-03-09 10:45:26 -04:00
atari_scsi.c ncr5380: Drop owner assignment from platform_drivers 2015-03-09 07:18:14 -04:00
atp870u.c atp870u: Introduce atp870_init() 2015-11-25 22:08:55 -05:00
atp870u.h atp870u: Remove scam_on from struct atp_unit 2015-11-25 22:08:52 -05:00
BusLogic.c scsi: replace seq_printf with seq_puts 2015-02-02 09:57:45 -08:00
BusLogic.h
bvme6000_scsi.c
ch.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2015-04-14 09:50:27 -07:00
constants.c
dc395x.c scsi: print single-character strings with seq_putc 2015-02-02 09:57:46 -08:00
dc395x.h
dmx3191d.c
dpt_i2o.c x86/vm86: Clean up vm86.h includes 2015-07-31 13:31:10 +02:00
dpti.h
dtc.c
dtc.h
eata_generic.h
eata_pio.c scsi: replace seq_printf with seq_puts 2015-02-02 09:57:45 -08:00
eata_pio.h
eata.c
esp_scsi.c scsi: use host wide tags by default 2015-11-09 17:11:57 -08:00
esp_scsi.h
fdomain.c scsi: Do not set cmd_per_lun to 1 in the host template 2015-05-31 18:06:28 -07:00
fdomain.h
FlashPoint.c FlashPoint: fix build warning 2015-11-09 16:32:14 -08:00
g_NCR5380_mmio.c
g_NCR5380.c ncr5380: Harmonize jiffies conversion with msecs_to_jiffies 2015-03-09 10:45:26 -04:00
g_NCR5380.h
gdth_ioctl.h
gdth_proc.c scsi: replace seq_printf with seq_puts 2015-02-02 09:57:45 -08:00
gdth_proc.h
gdth.c
gdth.h
gvp11.c
gvp11.h
hosts.c scsi: use host wide tags by default 2015-11-09 17:11:57 -08:00
hpsa_cmd.h hpsa: Add box and bay information for enclosure devices 2016-01-06 15:10:36 -05:00
hpsa.c hpsa: Add box and bay information for enclosure devices 2016-01-06 15:10:36 -05:00
hpsa.h hpsa: Change SAS transport devices to bus 0. 2016-01-06 15:10:35 -05:00
hptiop.c hptiop: Support HighPoint RR36xx HBAs and Support SAS tape and SAS media changer 2015-08-12 13:14:57 -07:00
hptiop.h hptiop: Support HighPoint RR36xx HBAs and Support SAS tape and SAS media changer 2015-08-12 13:14:57 -07:00
imm.c scsi: Do not set cmd_per_lun to 1 in the host template 2015-05-31 18:06:28 -07:00
imm.h
in2000.c scsi: print single-character strings with seq_putc 2015-02-02 09:57:46 -08:00
in2000.h
initio.c SCSI: initio: remove duplicate module device table 2015-11-20 11:39:03 -05:00
initio.h
ipr.c SCSI queue for 4.4. 2015-11-12 07:06:18 -05:00
ipr.h ipr: Driver version 2.6.3. 2015-11-09 19:32:41 -05:00
ips.c ips: remove pointless #warning 2015-06-02 17:24:54 -07:00
ips.h
iscsi_boot_sysfs.c
iscsi_tcp.c
iscsi_tcp.h
jazz_esp.c
Kconfig hisi_sas: Add initial bare main driver 2015-11-25 22:12:51 -05:00
lasi700.c
libiscsi_tcp.c
libiscsi.c libiscsi: Fix iscsi_check_transport_timeouts possible infinite loop 2015-09-17 07:25:02 -07:00
mac53c94.c scsi: Do not set cmd_per_lun to 1 in the host template 2015-05-31 18:06:28 -07:00
mac53c94.h
mac_esp.c
mac_scsi.c ncr5380: Drop owner assignment from platform_drivers 2015-03-09 07:18:14 -04:00
Makefile hisi_sas: Add initial bare main driver 2015-11-25 22:12:51 -05:00
megaraid.c megaraid : use dev_printk when possible 2015-08-26 07:23:04 -07:00
megaraid.h
mesh.c powerpc: Move Power Macintosh drivers to generic byteswappers 2015-03-23 14:29:40 +11:00
mesh.h
mvme16x_scsi.c
mvme147.c
mvme147.h
mvumi.c mvumi: 64bit value for seconds_since1970 2015-11-11 20:45:23 -05:00
mvumi.h
ncr53c8xx.c
ncr53c8xx.h
NCR53c406a.c scsi: Do not set cmd_per_lun to 1 in the host template 2015-05-31 18:06:28 -07:00
NCR5380.c ncr5380: Harmonize jiffies conversion with msecs_to_jiffies 2015-03-09 10:45:26 -04:00
NCR5380.h
NCR_D700.c
NCR_D700.h
NCR_Q720.c
NCR_Q720.h
nsp32_debug.c
nsp32_io.h
nsp32.c scsi: Do not set cmd_per_lun to 1 in the host template 2015-05-31 18:06:28 -07:00
nsp32.h
osst_detect.h
osst_options.h
osst.c
osst.h
pas16.c
pas16.h
pmcraid.c SCSI queue for 4.4. 2015-11-12 07:06:18 -05:00
pmcraid.h
ppa.c scsi: Do not set cmd_per_lun to 1 in the host template 2015-05-31 18:06:28 -07:00
ppa.h
ps3rom.c scsi: Do not set cmd_per_lun to 1 in the host template 2015-05-31 18:06:28 -07:00
qla1280.c scsi: Do not set cmd_per_lun to 1 in the host template 2015-05-31 18:06:28 -07:00
qla1280.h
qlogicfas408.c
qlogicfas408.h
qlogicfas.c scsi: Do not set cmd_per_lun to 1 in the host template 2015-05-31 18:06:28 -07:00
qlogicpti.c scsi: Do not set cmd_per_lun to 1 in the host template 2015-05-31 18:06:28 -07:00
qlogicpti.h
raid_class.c
script_asm.pl
scsi_common.c scsi: Protect against buffer possible overflow in scsi_set_sense_information 2015-07-23 22:53:05 -07:00
scsi_debug.c scsi_debug: Increase the reported optimal transfer length 2015-12-21 22:14:47 -05:00
scsi_devinfo.c SCSI: fix bug in scsi_dev_info_list matching 2015-10-27 11:09:41 +09:00
scsi_dh.c scsi_dh: move 'dh_state' sysfs attribute to generic code 2015-12-02 16:29:19 -05:00
scsi_error.c mm, page_alloc: rename __GFP_WAIT to __GFP_RECLAIM 2015-11-06 17:50:42 -08:00
scsi_ioctl.c
scsi_lib_dma.c
scsi_lib.c scsi: Add scsi_vpd_tpg_id() 2015-12-02 16:43:11 -05:00
scsi_logging.c scsi_logging: return void for dev_printk() functions 2015-02-04 08:00:24 -08:00
scsi_logging.h
scsi_module.c
scsi_netlink.c
scsi_pm.c SCSI: Fix NULL pointer dereference in runtime PM 2015-08-18 08:14:14 -07:00
scsi_priv.h scsi_dh: move 'dh_state' sysfs attribute to generic code 2015-12-02 16:29:19 -05:00
scsi_proc.c scsi: print single-character strings with seq_putc 2015-02-02 09:57:46 -08:00
scsi_sas_internal.h
scsi_scan.c scsi: rescan VPD attributes 2015-11-30 11:23:45 -05:00
scsi_sysctl.c
scsi_sysfs.c scsi: export 'wwid' to sysfs 2015-12-02 16:42:13 -05:00
scsi_trace.c scsi: print single-character strings with seq_putc 2015-02-02 09:57:46 -08:00
scsi_transport_api.h
scsi_transport_fc.c scsi_transport_fc: Introduce scsi_host_{get,put}() 2015-11-30 17:43:55 -05:00
scsi_transport_iscsi.c SCSI misc on 20150901 2015-09-02 12:22:54 -07:00
scsi_transport_sas.c scsi_transport_sas: Remove check for SAS expander when querying bay/enclosure IDs. 2015-09-06 11:13:41 -07:00
scsi_transport_spi.c [SCSI] Fix printk typos in drivers/scsi 2015-08-07 14:28:45 +02:00
scsi_transport_srp.c IB/srp: Avoid using uninitialized variable 2015-07-14 13:20:09 -04:00
scsi_typedefs.h
scsi.c scsi: rescan VPD attributes 2015-11-30 11:23:45 -05:00
scsi.h
scsicam.c
sd_dif.c block: Consolidate static integrity profile properties 2015-10-21 14:42:38 -06:00
sd.c SCSI misc on 20151113 2015-11-13 20:35:54 -08:00
sd.h
ses.c scsi: rescan VPD attributes 2015-11-30 11:23:45 -05:00
sg.c sg: Fix double-free when drives detach during SG_IO 2015-11-02 23:51:25 -05:00
sgiwd93.c
sim710.c
sni_53c710.c
sr_ioctl.c sr: reduce debug noise in sr_do_ioctl 2015-01-20 19:43:24 +01:00
sr_vendor.c
sr.c
sr.h
st_options.h
st.c st: allow debug output to be enabled or disabled via sysfs 2015-11-09 17:17:27 -08:00
st.h st: Remove obsolete scsi_tape.max_pfn 2015-11-18 11:59:09 -05:00
stex.c stex: Remove use of struct timeval 2015-11-09 17:42:19 -08:00
storvsc_drv.c storvsc: Tighten up the interrupt path 2016-01-06 15:56:17 -05:00
sun3_scsi_vme.c
sun3_scsi.c ncr5380: Drop owner assignment from platform_drivers 2015-03-09 07:18:14 -04:00
sun3_scsi.h
sun3x_esp.c arch, drivers: don't include <asm/io.h> directly, use <linux/io.h> instead 2015-08-10 23:07:05 -04:00
sun_esp.c
sym53c416.c scsi: Do not set cmd_per_lun to 1 in the host template 2015-05-31 18:06:28 -07:00
sym53c416.h
t128.c
t128.h
u14-34f.c
ultrastor.c
ultrastor.h
virtio_scsi.c virtio/vhost: fixes for 4.2 2015-07-23 13:07:04 -07:00
vmw_pvscsi.c VMW_PVSCSI: Fix the issue of DMA-API related warnings. 2015-12-10 12:57:04 -05:00
vmw_pvscsi.h VMW_PVSCSI: Fix the issue of DMA-API related warnings. 2015-12-10 12:57:04 -05:00
wd33c93.c scsi: print single-character strings with seq_putc 2015-02-02 09:57:46 -08:00
wd33c93.h
wd719x.c [SCSI] Fix printk typos in drivers/scsi 2015-08-07 14:28:45 +02:00
wd719x.h scsi: Do not set cmd_per_lun to 1 in the host template 2015-05-31 18:06:28 -07:00
wd7000.c scsi: replace seq_printf with seq_puts 2015-02-02 09:57:45 -08:00
xen-scsifront.c xen: Use correctly the Xen memory terminologies 2015-09-08 18:03:49 +01:00
zalon.c
zorro7xx.c