diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c index d6c827a9ebc5..5c2f4f58da8f 100644 --- a/fs/btrfs/extent_io.c +++ b/fs/btrfs/extent_io.c @@ -3879,6 +3879,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, fs_info, wbc, &epd);