Btrfs: add missing end_page_writeback on submit_extent_page failure
authorFilipe Manana <fdmanana@suse.com>
Mon, 22 Sep 2014 16:41:04 +0000 (17:41 +0100)
committerChris Mason <clm@fb.com>
Fri, 3 Oct 2014 23:14:58 +0000 (16:14 -0700)
commit55e3bd2e0c2e1cfb43429b962e61415e0526bc01
treeabb89e714c5ad0532229a19816fbe8aa317b33af
parent32be3a1ac6d09576c57063c6c350ca36eaebdbd3
Btrfs: add missing end_page_writeback on submit_extent_page failure

If submit_extent_page() fails in write_one_eb(), we end up with the current
page not marked dirty anymore, unlocked and marked for writeback. But we never
end up calling end_page_writeback() against the page, which will make calls to
filemap_fdatawait_range (e.g. at transaction commit time) hang forever waiting
for the writeback bit to be cleared from the page.

Signed-off-by: Filipe Manana <fdmanana@suse.com>
Reviewed-by: Liu Bo <bo.li.liu@oracle.com>
Signed-off-by: Chris Mason <clm@fb.com>
fs/btrfs/extent_io.c