On Mon, Feb 18, 2019 at 01:27:51PM +0800, Qu Wenruo wrote:
> Signed-off-by: Qu Wenruo <wqu@xxxxxxxx>
> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx>
> ---
> 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 1572e892ec7b..480e138051f0 100644
> --- a/fs/btrfs/extent_io.c
> +++ b/fs/btrfs/extent_io.c
> @@ -3998,7 +3998,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) {
This needs some more explanation why it's correct, there's conditional
locking and writeback status manipulation. Thanks.