Message ID | 20220527155036.524743-24-willy@infradead.org (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Begin removing PageError | expand |
On Fri, May 27, 2022 at 04:50:35PM +0100, Matthew Wilcox (Oracle) wrote: > If a page can't be written back, we need to call mapping_set_error(), > not clear the page's Uptodate flag. Also remove the clearing of PageError > on success; that flag is used for read errors, not write errors. Looks good: Reviewed-by: Christoph Hellwig <hch@lst.de>
diff --git a/fs/hostfs/hostfs_kern.c b/fs/hostfs/hostfs_kern.c index cc1bc6f93a01..07881b76d42f 100644 --- a/fs/hostfs/hostfs_kern.c +++ b/fs/hostfs/hostfs_kern.c @@ -416,15 +416,15 @@ static int hostfs_writepage(struct page *page, struct writeback_control *wbc) err = write_file(HOSTFS_I(inode)->fd, &base, buffer, count); if (err != count) { - ClearPageUptodate(page); + if (err >= 0) + err = -EIO; + mapping_set_error(mapping, err); goto out; } if (base > inode->i_size) inode->i_size = base; - if (PageError(page)) - ClearPageError(page); err = 0; out:
If a page can't be written back, we need to call mapping_set_error(), not clear the page's Uptodate flag. Also remove the clearing of PageError on success; that flag is used for read errors, not write errors. Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> --- fs/hostfs/hostfs_kern.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)