kernel_optimize_test/fs/ext4
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
..
acl.c
acl.h
balloc.c ext4: verify block bitmap even after fresh initialization 2015-06-08 11:18:52 -04:00
bitmap.c
block_validity.c
crypto_fname.c ext4 crypto: allocate the right amount of memory for the on-disk symlink 2015-05-31 13:35:32 -04:00
crypto_key.c
crypto_policy.c ext4 crypto: handle unexpected lack of encryption keys 2015-05-31 13:35:39 -04:00
crypto.c ext4 crypto: fix ext4_get_crypto_ctx()'s calling convention in ext4_decrypt_one 2015-06-08 11:54:56 -04:00
dir.c ext4 crypto: make sure the encryption info is initialized on opendir(2) 2015-05-31 13:34:57 -04:00
ext4_crypto.h ext4 crypto: allocate bounce pages using GFP_NOWAIT 2015-06-03 09:32:39 -04:00
ext4_extents.h
ext4_jbd2.c
ext4_jbd2.h
ext4.h A very large number of cleanups and bug fixes --- in particular for 2015-06-25 14:06:55 -07:00
extents_status.c
extents_status.h
extents.c Bug fixes (all for stable kernels) for ext4: 2015-07-05 16:24:54 -07:00
file.c xfs: update for 4.2-rc1 2015-06-30 20:16:08 -07:00
fsync.c
hash.c
ialloc.c ext4 crypto: encrypt tmpfile located in encryption protected directory 2015-05-31 13:35:02 -04:00
indirect.c ext4: don't retry file block mapping on bigalloc fs with non-extent file 2015-06-21 21:10:51 -04:00
inline.c
inode.c Bug fixes (all for stable kernels) for ext4: 2015-07-05 16:24:54 -07:00
ioctl.c ioctl_compat: handle FITRIM 2015-07-09 11:42:21 -07:00
Kconfig
Makefile
mballoc.c Bug fixes (all for stable kernels) for ext4: 2015-07-05 16:24:54 -07:00
mballoc.h
migrate.c ext4: correctly migrate a file with a hole at the beginning 2015-07-04 00:03:44 -04:00
mmp.c
move_extent.c ext4: make online defrag error reporting consistent 2015-06-21 21:38:03 -04:00
namei.c A very large number of cleanups and bug fixes --- in particular for 2015-06-25 14:06:55 -07:00
page-io.c block: add a bi_error field to struct bio 2015-07-29 08:55:15 -06:00
readpage.c block: add a bi_error field to struct bio 2015-07-29 08:55:15 -06:00
resize.c
super.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2015-07-04 19:36:06 -07:00
symlink.c A very large number of cleanups and bug fixes --- in particular for 2015-06-25 14:06:55 -07:00
truncate.h
xattr_security.c
xattr_trusted.c
xattr_user.c
xattr.c
xattr.h