diff options
author | Tsutomu Itoh <t-itoh@jp.fujitsu.com> | 2012-02-16 10:11:40 +0900 |
---|---|---|
committer | David Sterba <dsterba@suse.cz> | 2012-02-16 17:23:16 +0100 |
commit | 013bd4c336ad0d30e9e41f9cff0dbc1858934e75 (patch) | |
tree | f605d1160c95e3e82016ca8a81e6e1c3af2b7cba /fs/btrfs | |
parent | 12fc9d0923ca70ae8960bccebac09d5c12f8c4d4 (diff) | |
download | linux-013bd4c336ad0d30e9e41f9cff0dbc1858934e75.tar.bz2 |
Btrfs: fix return value check of extent_io_ops
This patch adds the check on the return value of extent_io_ops.
Signed-off-by: Tsutomu Itoh <t-itoh@jp.fujitsu.com>
Diffstat (limited to 'fs/btrfs')
-rw-r--r-- | fs/btrfs/extent_io.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c index 89ba79fb945c..b05d35a7c0f1 100644 --- a/fs/btrfs/extent_io.c +++ b/fs/btrfs/extent_io.c @@ -2154,9 +2154,10 @@ static int bio_readpage_error(struct bio *failed_bio, struct page *page, "this_mirror=%d, num_copies=%d, in_validation=%d\n", read_mode, failrec->this_mirror, num_copies, failrec->in_validation); - tree->ops->submit_bio_hook(inode, read_mode, bio, failrec->this_mirror, - failrec->bio_flags, 0); - return 0; + ret = tree->ops->submit_bio_hook(inode, read_mode, bio, + failrec->this_mirror, + failrec->bio_flags, 0); + return ret; } /* lots and lots of room for performance fixes in the end_bio funcs */ @@ -2790,9 +2791,12 @@ static int __extent_writepage(struct page *page, struct writeback_control *wbc, delalloc_start = delalloc_end + 1; continue; } - tree->ops->fill_delalloc(inode, page, delalloc_start, - delalloc_end, &page_started, - &nr_written); + ret = tree->ops->fill_delalloc(inode, page, + delalloc_start, + delalloc_end, + &page_started, + &nr_written); + BUG_ON(ret); /* * delalloc_end is already one less than the total * length, so we don't subtract one from |