]> git.baikalelectronics.ru Git - kernel.git/commit
btrfs: extent_io: Handle errors better in extent_write_full_page()
authorQu Wenruo <wqu@suse.com>
Wed, 20 Mar 2019 06:27:42 +0000 (14:27 +0800)
committerDavid Sterba <dsterba@suse.com>
Mon, 29 Apr 2019 17:02:23 +0000 (19:02 +0200)
commit901fb9eb3cc957afb9596520148f8638061f8a63
tree23dd10206fd9f4ee11e97065bb545eaa592ae944
parentd5145cb1ba508a2e5a21ddc79577876fdc8a148e
btrfs: extent_io: Handle errors better in extent_write_full_page()

Since now flush_write_bio() could return error, kill the BUG_ON() first.
Then don't call flush_write_bio() unconditionally, instead we check the
return value from __extent_writepage() first.

If __extent_writepage() fails, we do cleanup, and return error without
submitting the possible corrupted or half-baked bio.

If __extent_writepage() successes, then we call flush_write_bio() and
return the result.

Signed-off-by: Qu Wenruo <wqu@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/extent_io.c