From: Matthew Wilcox (Oracle) Date: Fri, 27 May 2022 15:20:56 +0000 (-0400) Subject: hostfs: Handle page write errors correctly X-Git-Tag: v6.1-rc5~745^2~37 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e775dfb33d81455bb043e447c5bdca76ae60ea15;p=platform%2Fkernel%2Flinux-starfive.git hostfs: Handle page write errors correctly 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) --- diff --git a/fs/hostfs/hostfs_kern.c b/fs/hostfs/hostfs_kern.c index cc1bc6f..07881b7 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: