linux/drivers
Mike Christie 4a27446f3e [SCSI] modify scsi to handle new fail fast flags.
This checks the errors the scsi-ml determined were retryable
and returns if we should fast fail it based on the request
fail fast flags.

Without the patch, drivers like lpfc, qla2xxx and fcoe would return
DID_ERROR for what it determines is a temporary communication problem.
There is no loss of connectivity at that time and the driver thinks
that it would be fast to retry at the driver level. SCSI-ml will however
sees fast fail on the request and DID_ERROR and will fast fail the io.
This will then cause dm-multipath to fail the path and possibley switch
target controllers when we should be retrying at the scsi layer.

We also were fast failing device errors to dm multiapth when
unless the scsi_dh modules think otherwis we want to retry at
the scsi layer because multipath can only retry the IO like scsi
should have done. multipath is a little dumber though because it
does not what the error was for and assumes that it should fail
the paths.

Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
2008-10-13 09:28:52 -04:00
..
accessibility braille_console: only register notifiers when the braille console is used 2008-10-02 15:53:13 -07:00
acpi Fix RTC wakealarm sysfs interface breakage. 2008-10-12 11:30:08 -07:00
amba
ata Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6 2008-10-12 11:40:55 -07:00
atm Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-10-11 12:39:35 -07:00
auxdisplay
base x86: memory corruption check - cleanup 2008-10-12 15:09:23 +02:00
block Merge branch 'x86-core-v2-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2008-10-12 12:05:14 -07:00
bluetooth Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-10-08 14:56:41 -07:00
cdrom gdrom: change to use __blk_end_request() 2008-10-09 08:56:21 +02:00
char Merge branch 'x86-core-v2-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2008-10-12 12:05:14 -07:00
clocksource
connector
cpufreq [CPUFREQ] Fix BUG: using smp_processor_id() in preemptible code 2008-10-09 13:52:44 -04:00
cpuidle
crypto
dca
dio
dma dw_dmac: fix copy/paste bug in tasklet 2008-10-03 18:22:18 -07:00
edac
eisa
firewire
firmware
gpio
gpu
hid
hwmon Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-10-11 12:39:35 -07:00
i2c Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2008-10-11 10:09:45 -07:00
ide ide: Remove ide_spin_wait_hwgroup() and use special requests instead 2008-10-10 22:39:40 +02:00
ieee1394
infiniband Merge branches 'cma', 'cxgb3', 'ehca', 'ipath', 'ipoib', 'mad', 'misc', 'mlx4', 'mthca' and 'nes' into for-next 2008-10-09 17:41:15 -07:00
input Merge branch 'x86-core-v2-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2008-10-12 12:05:14 -07:00
isdn mISDN: misc timerdev fixes 2008-09-22 19:18:15 -07:00
leds Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-10-11 12:39:35 -07:00
lguest
macintosh
mca
md [SCSI] block: separate failfast into multiple bits. 2008-10-13 09:28:52 -04:00
media Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2008-10-11 10:09:45 -07:00
memstick memstick: change to use __blk_end_request() 2008-10-09 08:56:20 +02:00
message
mfd Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2008-10-11 10:09:45 -07:00
misc eeepc-laptop: Fix hwmon interface 2008-10-09 15:33:57 +02:00
mmc Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc 2008-10-12 11:51:57 -07:00
mtd Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-10-11 12:39:35 -07:00
net Merge branch 'x86-core-v2-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2008-10-12 12:05:14 -07:00
nubus
of
oprofile
parisc
parport
pci Merge branch 'x86/apic' into x86-v28-for-linus-phase4-B 2008-10-11 20:17:36 +02:00
pcmcia Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2008-10-11 10:09:45 -07:00
pnp PnP: move pnpacpi/pnpbios_init to after PCI init 2008-10-10 08:00:17 -07:00
power Fix Kconfig dependency for WM97xx battery driver 2008-10-12 12:37:16 -07:00
ps3
rapidio
regulator
rtc Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-10-11 12:39:35 -07:00
s390 [SCSI] block: separate failfast into multiple bits. 2008-10-13 09:28:52 -04:00
sbus
scsi [SCSI] modify scsi to handle new fail fast flags. 2008-10-13 09:28:52 -04:00
serial Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-10-11 12:39:35 -07:00
sh
sn
spi orion_spi: fix handling of default transfer speed 2008-10-03 18:22:18 -07:00
ssb Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-10-01 06:12:56 -07:00
tc
telephony ixj: push BKL into driver and wrap ioctls 2008-07-25 10:53:43 -07:00
thermal
uio
usb Merge branches 'x86/xen', 'x86/build', 'x86/microcode', 'x86/mm-debug-v2', 'x86/memory-corruption-check', 'x86/early-printk', 'x86/xsave', 'x86/ptrace-v2', 'x86/quirks', 'x86/setup', 'x86/spinlocks' and 'x86/signal' into x86/core-v2 2008-10-12 15:50:02 +02:00
video Merge branch 'x86-core-v2-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2008-10-12 12:05:14 -07:00
virtio
w1
watchdog Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog 2008-10-12 11:51:32 -07:00
xen xen: remove unused balloon.h 2008-10-03 10:04:10 +02:00
zorro
Kconfig
Makefile