diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c index 67066ece4de3..380ced84d4b1 100644 --- a/fs/btrfs/extent_io.c +++ b/fs/btrfs/extent_io.c @@ -3978,6 +3978,10 @@ retry: if (!ret) { free_extent_buffer(eb); continue; + } else if (ret < 0) { + done = 1; + free_extent_buffer(eb); + break; } ret = write_one_eb(eb, wbc, &epd);