diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2016-02-19 16:40:42 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-02-19 16:40:42 -0500 |
commit | ce6b71432d42afe5c3ae25ab2980304c32ecb915 (patch) | |
tree | 26d28f9894cccbffde8e051b69c6c61ea19b7e40 | |
parent | 87d9ac712b727705dc07e05e851e84387397d696 (diff) | |
parent | 413eddc6ca748dc52057f142d707b9378af692fc (diff) |
Merge branch 'for-linus-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs
Pull btrfs fix from Chris Mason:
"My for-linus-4.5 branch has a btrfs DIO error passing fix.
I know how much you love DIO, so I'm going to suggest against reading
it. We'll follow up with a patch to drop the error arg from
dio_end_io in the next merge window."
* 'for-linus-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
Btrfs: fix direct IO requests not reporting IO error to user space
-rw-r--r-- | fs/btrfs/inode.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index 151b7c71b868..d96f5cf38a2d 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c | |||
@@ -7986,6 +7986,7 @@ static void btrfs_endio_direct_read(struct bio *bio) | |||
7986 | 7986 | ||
7987 | kfree(dip); | 7987 | kfree(dip); |
7988 | 7988 | ||
7989 | dio_bio->bi_error = bio->bi_error; | ||
7989 | dio_end_io(dio_bio, bio->bi_error); | 7990 | dio_end_io(dio_bio, bio->bi_error); |
7990 | 7991 | ||
7991 | if (io_bio->end_io) | 7992 | if (io_bio->end_io) |
@@ -8040,6 +8041,7 @@ static void btrfs_endio_direct_write(struct bio *bio) | |||
8040 | 8041 | ||
8041 | kfree(dip); | 8042 | kfree(dip); |
8042 | 8043 | ||
8044 | dio_bio->bi_error = bio->bi_error; | ||
8043 | dio_end_io(dio_bio, bio->bi_error); | 8045 | dio_end_io(dio_bio, bio->bi_error); |
8044 | bio_put(bio); | 8046 | bio_put(bio); |
8045 | } | 8047 | } |