diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c index fa31c8d2c095589b379b32f77d469f24366a1763..a55580f4e611252968e44bd6b5563187b5328425 100644 --- a/fs/btrfs/extent_io.c +++ b/fs/btrfs/extent_io.c @@ -2367,6 +2367,8 @@ int end_extent_writepage(struct page *page, int err, u64 start, u64 end) if (!uptodate) { ClearPageUptodate(page); SetPageError(page); + ret = ret < 0 ? ret : -EIO; + mapping_set_error(page->mapping, ret); } return 0; }