diff --git a/fs/fuse/file.c b/fs/fuse/file.c
index 810ed4f99e385416c269ba2965b9948a520f1ad6..ab60051be6e533eb167a72e590494f0a46e3a488 100644
--- a/fs/fuse/file.c
+++ b/fs/fuse/file.c
@@ -1669,6 +1669,7 @@ static int fuse_writepage_locked(struct page *page)
 err_free:
 	fuse_request_free(req);
 err:
+	mapping_set_error(page->mapping, error);
 	end_page_writeback(page);
 	return error;
 }