The @ret from extent_write_cache_pages() can only be 0 or <0, so we only need to return @ret if something went wrong, or just return @flush_ret. Signed-off-by: Qu Wenruo <wqu@xxxxxxxx> --- fs/btrfs/extent_io.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c index 0d1f09b41421..ec03f4727786 100644 --- a/fs/btrfs/extent_io.c +++ b/fs/btrfs/extent_io.c @@ -4130,8 +4130,10 @@ int extent_writepages(struct address_space *mapping, ret = extent_write_cache_pages(mapping, wbc, &epd); flush_ret = flush_write_bio(&epd); - BUG_ON(flush_ret < 0); - return ret; + ASSERT(ret <= 0); + if (ret) + return ret; + return flush_ret; } int extent_readpages(struct address_space *mapping, struct list_head *pages, -- 2.20.1
