]> git.baikalelectronics.ru Git - kernel.git/commitdiff
nfs: Leave pages in the pagecache if readpage failed
authorMatthew Wilcox (Oracle) <willy@infradead.org>
Mon, 16 May 2022 14:30:09 +0000 (10:30 -0400)
committerMatthew Wilcox (Oracle) <willy@infradead.org>
Wed, 29 Jun 2022 12:51:07 +0000 (08:51 -0400)
The pagecache handles readpage failing by itself; it doesn't want
filesystems to remove pages from under it.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
fs/nfs/read.c

index 5a9b043662e913dfebab53c426b8852778ec832a..8ae2c8d1219d8c0901093a65b9f3c9bd92eb1267 100644 (file)
@@ -120,12 +120,8 @@ static void nfs_readpage_release(struct nfs_page *req, int error)
        if (nfs_error_is_fatal_on_server(error) && error != -ETIMEDOUT)
                SetPageError(page);
        if (nfs_page_group_sync_on_bit(req, PG_UNLOCKPAGE)) {
-               struct address_space *mapping = page_file_mapping(page);
-
                if (PageUptodate(page))
                        nfs_fscache_write_page(inode, page);
-               else if (!PageError(page) && !PagePrivate(page))
-                       generic_error_remove_page(mapping, page);
                unlock_page(page);
        }
        nfs_release_request(req);