1
linux/drivers
Ed Cashin 18d8217bc4 aoe: end barrier bios with EOPNOTSUPP
BugLink: http://bugzilla.kernel.org/show_bug.cgi?id=13942

Bruno Premont noticed that aoe throws a BUG during umount of an XFS in
2.6.31:

[ 5259.349897] aoe: bi_io_vec is NULL
[ 5259.349940] ------------[ cut here ]------------
[ 5259.349958] kernel BUG at /usr/src/linux-2.6/drivers/block/aoe/aoeblk.c:177!
[ 5259.349990] invalid opcode: 0000 [#1]

The bio in question is a barrier.  Jens Axboe suggested that such bios
need to be recognized and ended with -EOPNOTSUPP by any driver that
provides its own ->make_request_fn handler and does not handle
barriers.

In testing the changes below eliminate the BUG.

(Better would be real barrier support, something that Ed says he'll add
for later in the .32 cycle. For now, this at least gets rid of a bug
with crashing on an empty barrier. Jens)

Signed-off-by: Ed L. Cashin <ecashin@coraid.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2009-09-14 08:24:52 +02:00
..
accessibility
acpi ACPI: don't free non-existent backlight in acpi video module 2009-08-28 15:17:07 -04:00
amba
ata ata_piix: parallel scanning on PATA needs an extra locking 2009-08-31 17:25:00 -10:00
atm
auxdisplay
base PM / Driver Core: Kill dev_pm_ops platform warning for now 2009-08-10 23:41:18 +02:00
block aoe: end barrier bios with EOPNOTSUPP 2009-09-14 08:24:52 +02:00
bluetooth
cdrom
char Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel 2009-09-07 11:38:30 -07:00
clocksource sh: CMT suspend/resume 2009-08-15 12:58:45 +09:00
connector
cpufreq [CPUFREQ] Re-enable cpufreq suspend and resume code 2009-09-01 12:45:08 -04:00
cpuidle
crypto
dca
dio
dma
edac
eisa
firewire Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 2009-09-05 14:59:00 -07:00
firmware
gpio
gpu i915: disable interrupts before tearing down GEM state 2009-09-08 17:09:24 -07:00
hid
hwmon
i2c i2c-stu300: I2C STU300 stability updates 2009-08-20 22:27:58 +01:00
ide pcmcia: add CNF-CDROM-ID for ide 2009-08-14 13:09:32 -07:00
idle
ieee1394
ieee802154
infiniband
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2009-09-05 13:41:29 -07:00
isdn
leds leds: after setting inverted attribute, we must update the LED 2009-08-26 20:06:53 -07:00
lguest
macintosh m68k: count can reach 51, not 50 2009-08-26 23:14:49 +02:00
mca
md bio: first step in sanitizing the bio->bi_rw flag testing 2009-09-11 14:33:31 +02:00
media V4L/DVB (12502): gspca - sn9c20x: Fix gscpa sn9c20x build errors. 2009-08-31 02:24:54 -03:00
memstick
message
mfd
misc
mmc drivers/mmc: correct error-handling code 2009-08-07 10:39:56 -07:00
mtd mtd: nftl: fix offset alignments 2009-09-03 14:59:16 +01:00
net gianfar: Fix build. 2009-09-06 01:41:24 -07:00
nubus
of
oprofile
parisc
parport
pci PCI SR-IOV: correct broken resource alignment calculations 2009-08-30 08:37:25 -07:00
pcmcia
platform toshiba_acpi: return on a fail path 2009-08-28 15:17:07 -04:00
pnp
power
pps pps: fix incorrect verdict check 2009-08-26 20:06:52 -07:00
ps3
rapidio
regulator
rtc
s390 [S390] drivers/s390: put NULL test before dereference 2009-08-23 18:10:00 +02:00
sbus
scsi scsi,block: update SCSI to handle mixed merge failures 2009-09-11 14:33:30 +02:00
serial ARM: S3C64XX: serial: Fix a typo in Kconfig 2009-08-14 00:43:46 +01:00
sh
sn
spi spi_s3c24xx: fix transfer setup code 2009-08-18 16:31:13 -07:00
ssb
staging bio: first step in sanitizing the bio->bi_rw flag testing 2009-09-11 14:33:31 +02:00
tc
telephony
thermal thermal_sys: check get_temp return value 2009-08-26 20:06:52 -07:00
uio
usb USB: fix oops on disconnect in cdc-acm 2009-08-07 16:05:14 -07:00
uwb
video xenfb: connect to backend before registering fb 2009-08-27 12:31:18 -07:00
virtio
vlynq
w1
watchdog [WATCHDOG] ar7_wdt: fix path to ar7-specific headers 2009-08-15 13:05:01 +00:00
xen
zorro
Kconfig
Makefile