Signed-off-by: Qu Wenruo <w...@suse.com> --- fs/btrfs/extent_io.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c index 52c1b0ce6bfd..0d1f09b41421 100644 --- a/fs/btrfs/extent_io.c +++ b/fs/btrfs/extent_io.c @@ -3980,7 +3980,10 @@ static int extent_write_cache_pages(struct address_space *mapping, */ if (!trylock_page(page)) { ret = flush_write_bio(epd); - BUG_ON(ret < 0); + if (ret < 0) { + done = 1; + break; + } lock_page(page); } @@ -3992,7 +3995,10 @@ static int extent_write_cache_pages(struct address_space *mapping, if (wbc->sync_mode != WB_SYNC_NONE) { if (PageWriteback(page)) { ret = flush_write_bio(epd); - BUG_ON(ret < 0); + if (ret < 0) { + done = 1; + break; + } } wait_on_page_writeback(page); } -- 2.20.1