kernel_optimize_test/drivers/scsi
James Bottomley 77a4229719 [SCSI] Retry commands with UNIT_ATTENTION sense codes to fix ext3/ext4 I/O error
There's nastyness in the way we currently handle barriers (and
discards): They're effectively filesystem commands, but they get
processed as BLOCK_PC commands.  Unfortunately BLOCK_PC commands are
taken by SCSI to be SG_IO commands and the issuer expects to see and
handle any returned errors, however trivial.  This leads to a huge
problem, because the block layer doesn't expect this to happen and any
trivially retryable error on a barrier causes an immediate I/O error
to the filesystem.

The only real way to hack around this is to take the usual class of
offending errors (unit attentions) and make them all retryable in the
case of a REQ_HARDBARRIER.  A correct fix would involve a rework of
the entire block and SCSI submit system, and so is out of scope for a
quick fix.

Cc: Hannes Reinecke <hare@suse.de>
Cc: Stable Tree <stable@kernel.org>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
2010-05-05 12:15:57 -04:00
..
aacraid
aic7xxx
aic7xxx_old
aic94xx
arcmsr
arm
be2iscsi [SCSI] be2iscsi: fix lock imbalance 2010-04-08 18:41:50 -04:00
bfa
bnx2i [SCSI] bnx2i: Bug fixes related to MTU change issue when there are active iscsi sessions 2010-04-11 13:57:11 -05:00
cxgb3i
device_handler
dpt
fcoe
fnic
ibmvscsi [SCSI] ibmvscsi: fix DMA API misuse 2010-04-11 13:38:54 -05:00
libfc
libsas [SCSI] fix locking around blk_abort_request() 2010-05-01 14:17:19 -05:00
lpfc [SCSI] lpfc: fix lock imbalances 2010-04-08 18:42:10 -04:00
megaraid
mpt2sas
mvsas
osd
pcmcia
pm8001
qla2xxx [SCSI] qla2xxx: fix lock imbalance 2010-04-08 18:42:41 -04:00
qla4xxx scsi: fix operator precedence warning 2010-04-22 11:11:02 -07:00
sym53c8xx_2
.gitignore
3w-9xxx.c
3w-9xxx.h
3w-sas.c
3w-sas.h
3w-xxxx.c
3w-xxxx.h
53c700_d.h_shipped
53c700.c
53c700.h
53c700.scr
a100u2w.c
a100u2w.h
a2091.c
a2091.h
a3000.c
a3000.h
a4000t.c
advansys.c [SCSI] advansys: fix narrow board error path 2010-05-01 09:54:22 -05:00
aha152x.c
aha152x.h
aha1542.c
aha1542.h
aha1740.c
aha1740.h
aic7xxx_old.c
atari_NCR5380.c
atari_scsi.c
atari_scsi.h
atp870u.c
atp870u.h
BusLogic.c
BusLogic.h
bvme6000_scsi.c
ch.c
constants.c
dc395x.c
dc395x.h
dmx3191d.c
dpt_i2o.c [SCSI] dpt_i2o: several use after free issues 2010-04-08 18:26:15 -04:00
dpti.h
dtc.c
dtc.h
eata_generic.h
eata_pio.c
eata_pio.h
eata.c
esp_scsi.c
esp_scsi.h
fd_mcs.c
fdomain.c
fdomain.h
FlashPoint.c
g_NCR5380_mmio.c
g_NCR5380.c
g_NCR5380.h
gdth_ioctl.h
gdth_proc.c
gdth_proc.h
gdth.c
gdth.h
gvp11.c
gvp11.h
hosts.c
hpsa_cmd.h
hpsa.c
hpsa.h
hptiop.c
hptiop.h
ibmmca.c
imm.c
imm.h
in2000.c
in2000.h
initio.c
initio.h
ipr.c
ipr.h
ips.c
ips.h
iscsi_tcp.c [SCSI] iscsi_tcp: fix relogin/shutdown hang 2010-04-11 13:28:13 -05:00
iscsi_tcp.h
jazz_esp.c
Kconfig
lasi700.c
libiscsi_tcp.c
libiscsi.c [SCSI] libiscsi: regression: fix header digest errors 2010-05-02 11:16:50 -04:00
libsrp.c
mac_esp.c
mac_scsi.c
mac_scsi.h
mac53c94.c
mac53c94.h
Makefile
megaraid.c
megaraid.h
mesh.c
mesh.h
mvme16x_scsi.c
mvme147.c
mvme147.h
NCR_D700.c
NCR_D700.h
NCR_Q720.c
NCR_Q720.h
ncr53c8xx.c
ncr53c8xx.h
NCR53c406a.c
NCR5380.c
NCR5380.h
nsp32_debug.c
nsp32_io.h
nsp32.c
nsp32.h
osst_detect.h
osst_options.h
osst.c
osst.h
pas16.c
pas16.h
pmcraid.c
pmcraid.h
ppa.c
ppa.h
ps3rom.c
qla1280.c
qla1280.h
qlogicfas.c
qlogicfas408.c
qlogicfas408.h
qlogicpti.c
qlogicpti.h
raid_class.c
script_asm.pl
scsi_debug.c [SCSI] scsi_debug: virtual_gb ignores sector_size 2010-05-02 11:18:55 -04:00
scsi_devinfo.c
scsi_error.c [SCSI] Retry commands with UNIT_ATTENTION sense codes to fix ext3/ext4 I/O error 2010-05-05 12:15:57 -04:00
scsi_ioctl.c
scsi_lib_dma.c
scsi_lib.c
scsi_logging.h
scsi_module.c
scsi_netlink.c
scsi_priv.h
scsi_proc.c
scsi_sas_internal.h
scsi_scan.c
scsi_sysctl.c
scsi_sysfs.c
scsi_tgt_if.c
scsi_tgt_lib.c
scsi_tgt_priv.h
scsi_transport_api.h
scsi_transport_fc_internal.h
scsi_transport_fc.c
scsi_transport_iscsi.c
scsi_transport_sas.c
scsi_transport_spi.c
scsi_transport_srp_internal.h
scsi_transport_srp.c
scsi_typedefs.h
scsi_wait_scan.c
scsi.c
scsi.h
scsicam.c
sd_dif.c
sd.c [SCSI] Enable retries for SYNCRONIZE_CACHE commands to fix I/O error 2010-05-05 12:13:26 -04:00
sd.h
ses.c
sg.c
sgiwd93.c
sim710.c
sni_53c710.c
sr_ioctl.c
sr_vendor.c
sr.c
sr.h
st_options.h
st.c
st.h
stex.c
sun_esp.c
sun3_NCR5380.c
sun3_scsi_vme.c
sun3_scsi.c
sun3_scsi.h
sun3x_esp.c
sym53c416.c
sym53c416.h
t128.c
t128.h
tmscsim.c
tmscsim.h
u14-34f.c
ultrastor.c
ultrastor.h
vmw_pvscsi.c
vmw_pvscsi.h
wd33c93.c
wd33c93.h
wd7000.c [SCSI] wd7000: fix reset handler typo spin_unlock_irq() => spin_lock_irq() 2010-04-11 13:37:33 -05:00
zalon.c
zorro7xx.c