+++ /dev/null
-From 18d8217bc441630c3c5ec7416c5a65c69e8a0979 Mon Sep 17 00:00:00 2001
-From: Ed Cashin <ecashin@coraid.com>
-Date: Thu, 10 Sep 2009 22:30:47 +0200
-Subject: aoe: end barrier bios with EOPNOTSUPP
-
-From: Ed Cashin <ecashin@coraid.com>
-
-commit 18d8217bc441630c3c5ec7416c5a65c69e8a0979 upstream.
-
-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>
-Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
----
- drivers/block/aoe/aoeblk.c | 3 +++
- 1 file changed, 3 insertions(+)
-
---- a/drivers/block/aoe/aoeblk.c
-+++ b/drivers/block/aoe/aoeblk.c
-@@ -176,6 +176,9 @@ aoeblk_make_request(struct request_queue
- BUG();
- bio_endio(bio, -ENXIO);
- return 0;
-+ } else if (bio_rw_flagged(bio, BIO_RW_BARRIER)) {
-+ bio_endio(bio, -EOPNOTSUPP);
-+ return 0;
- } else if (bio->bi_io_vec == NULL) {
- printk(KERN_ERR "aoe: bi_io_vec is NULL\n");
- BUG();
coredump-suppress-uid-comparison-test-if-core-output-files-are-pipes.patch
bonding-ignore-updelay-param-when-there-is-no-active-slave.patch
v4l-dvb-13961-em28xx-dvb-fix-memleak-in-dvb_fini.patch
-aoe-end-barrier-bios-with-eopnotsupp.patch
b44-wol-setup-one-bit-off-stack-corruption-kernel-panic-fix.patch
tmpfs-fix-oops-on-mounts-with-mpol-default.patch
tmpfs-mpol-bind-0-don-t-cause-mount-error.patch