1
0
Fork 0
alistair23-linux/arch/m68k
Christoph Hellwig 4246a0b63b block: add a bi_error field to struct bio
Currently we have two different ways to signal an I/O error on a BIO:

 (1) by clearing the BIO_UPTODATE flag
 (2) by returning a Linux errno value to the bi_end_io callback

The first one has the drawback of only communicating a single possible
error (-EIO), and the second one has the drawback of not beeing persistent
when bios are queued up, and are not passed along from child to parent
bio in the ever more popular chaining scenario.  Having both mechanisms
available has the additional drawback of utterly confusing driver authors
and introducing bugs where various I/O submitters only deal with one of
them, and the others have to add boilerplate code to deal with both kinds
of error returns.

So add a new bi_error field to store an errno value directly in struct
bio and remove the existing mechanisms to clean all this up.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Reviewed-by: NeilBrown <neilb@suse.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
2015-07-29 08:55:15 -06:00
..
68000 m68k: Use vsprintf %pM extension 2015-06-16 16:45:38 +10:00
68360 m68k: Use vsprintf %pM extension 2015-06-16 16:45:38 +10:00
amiga m68k/amiga: Convert printk(foo to pr_foo() 2014-05-28 10:11:54 +02:00
apollo m68k/apollo: Convert printk to pr_foo() 2014-05-28 10:11:55 +02:00
atari m68k/atari: Remove obsolete IRQ_TYPE_* 2015-01-15 13:44:51 +01:00
bvme6000 m68k/UAPI: Use proper types (endianness/size) in <asm/bootinfo*.h> 2013-11-26 11:09:21 +01:00
coldfire Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu 2015-04-20 10:12:29 -07:00
configs m68k: enable PCI support for m5475evb defconfig 2015-07-13 09:34:40 +10:00
emu block: add a bi_error field to struct bio 2015-07-29 08:55:15 -06:00
fpsp040 Fix common misspellings 2011-03-31 11:26:23 -03:00
hp300 m68k/hp300: Convert printk to pr_foo() 2014-05-28 10:11:55 +02:00
ifpsp060 Fix common misspellings 2011-03-31 11:26:23 -03:00
include m68k: fix io functions for ColdFire/MMU/PCI case 2015-07-13 09:34:40 +10:00
kernel m68k: Use for_each_sg() 2015-06-01 10:36:29 +02:00
lib m68k: Remove FSF address 2015-03-15 10:23:30 +01:00
mac m68k/psc: Fix race in installing chained IRQ handler 2015-06-25 11:57:54 +02:00
math-emu m68k/math-emu: unsigned issue, 'unsigned long' will never be less than zero 2013-06-24 19:44:19 +02:00
mm mm/fault, arch: Use pagefault_disable() to check for disabled pagefaults in the handler 2015-05-19 08:39:15 +02:00
mvme16x m68k/mvme16x: rtc - Don't use module_init in non-modular code 2015-01-11 11:38:41 +01:00
mvme147 m68k/mvme147: config.c - Remove unused functions 2015-01-11 11:38:45 +01:00
q40 m68k: Mark functions only called from setup_arch() __init 2013-11-26 11:08:54 +01:00
sun3 sun3_scsi: Convert to platform device 2014-11-20 09:11:15 +01:00
sun3x m68k: Remove superfluous inclusions of <asm/bootinfo.h> 2013-11-26 11:09:22 +01:00
tools/amiga Convert files to UTF-8 and some cleanups 2007-10-19 23:21:04 +02:00
Kconfig m68k: mark PMD folded and expose number of page table levels 2015-04-14 16:49:02 -07:00
Kconfig.bus m68k/atari: ROM port ISA adapter support 2013-04-16 21:08:11 +02:00
Kconfig.cpu m68knommu: make ColdFire SoC selection a choice 2015-07-13 09:34:39 +10:00
Kconfig.debug m68k: Multi-platform EARLY_PRINTK 2014-05-28 10:10:04 +02:00
Kconfig.devices Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k 2014-10-08 05:40:17 -04:00
Kconfig.machine m68k: remove 16 unused boards in Kconfig.machine 2013-08-26 16:51:14 +10:00
Makefile m68k: move non-mmu 68360 platform code 2014-09-29 09:18:35 +10:00
install.sh kbuild: use INSTALLKERNEL to select customized installkernel script 2009-09-20 12:18:14 +02:00