From: "Matthew Wilcox (Oracle)" <willy@infradead.org>
To: linux-fsdevel@vger.kernel.org
Cc: "Matthew Wilcox (Oracle)" <willy@infradead.org>
Subject: [PATCH 69/69] mm,fs: Remove stray references to ->readpage
Date: Fri, 29 Apr 2022 18:25:56 +0100 [thread overview]
Message-ID: <20220429172556.3011843-70-willy@infradead.org> (raw)
In-Reply-To: <20220429172556.3011843-1-willy@infradead.org>
Get rid of all references to readpage.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
---
fs/ceph/addr.c | 2 +-
include/linux/fs.h | 7 ++-----
kernel/events/uprobes.c | 7 ++++---
mm/filemap.c | 4 ++--
mm/memory.c | 4 ++--
mm/readahead.c | 4 ++--
mm/shmem.c | 2 +-
mm/swapfile.c | 2 +-
8 files changed, 15 insertions(+), 17 deletions(-)
diff --git a/fs/ceph/addr.c b/fs/ceph/addr.c
index 3acd33da6d8c..e040b92bb17c 100644
--- a/fs/ceph/addr.c
+++ b/fs/ceph/addr.c
@@ -1772,7 +1772,7 @@ int ceph_mmap(struct file *file, struct vm_area_struct *vma)
{
struct address_space *mapping = file->f_mapping;
- if (!mapping->a_ops->readpage)
+ if (!mapping->a_ops->read_folio)
return -ENOEXEC;
file_accessed(file);
vma->vm_ops = &ceph_vmops;
diff --git a/include/linux/fs.h b/include/linux/fs.h
index 5ecc4b74204d..f812f5aa07dd 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -262,7 +262,7 @@ struct iattr {
* trying again. The aop will be taking reasonable
* precautions not to livelock. If the caller held a page
* reference, it should drop it before retrying. Returned
- * by readpage().
+ * by read_folio().
*
* address_space_operation functions return these large constants to indicate
* special semantics to the caller. These are much larger than the bytes in a
@@ -335,10 +335,7 @@ static inline bool is_sync_kiocb(struct kiocb *kiocb)
struct address_space_operations {
int (*writepage)(struct page *page, struct writeback_control *wbc);
- union {
- int (*readpage)(struct file *, struct page *);
- int (*read_folio)(struct file *, struct folio *);
- };
+ int (*read_folio)(struct file *, struct folio *);
/* Write back some dirty pages from this mapping. */
int (*writepages)(struct address_space *, struct writeback_control *);
diff --git a/kernel/events/uprobes.c b/kernel/events/uprobes.c
index 6418083901d4..a9bc3c98f76a 100644
--- a/kernel/events/uprobes.c
+++ b/kernel/events/uprobes.c
@@ -787,10 +787,10 @@ static int __copy_insn(struct address_space *mapping, struct file *filp,
struct page *page;
/*
* Ensure that the page that has the original instruction is populated
- * and in page-cache. If ->readpage == NULL it must be shmem_mapping(),
+ * and in page-cache. If ->read_folio == NULL it must be shmem_mapping(),
* see uprobe_register().
*/
- if (mapping->a_ops->readpage)
+ if (mapping->a_ops->read_folio)
page = read_mapping_page(mapping, offset >> PAGE_SHIFT, filp);
else
page = shmem_read_mapping_page(mapping, offset >> PAGE_SHIFT);
@@ -1143,7 +1143,8 @@ static int __uprobe_register(struct inode *inode, loff_t offset,
return -EINVAL;
/* copy_insn() uses read_mapping_page() or shmem_read_mapping_page() */
- if (!inode->i_mapping->a_ops->readpage && !shmem_mapping(inode->i_mapping))
+ if (!inode->i_mapping->a_ops->read_folio &&
+ !shmem_mapping(inode->i_mapping))
return -EIO;
/* Racy, just to catch the obvious mistakes */
if (offset > i_size_read(inode))
diff --git a/mm/filemap.c b/mm/filemap.c
index 132015e42384..079f8cca7959 100644
--- a/mm/filemap.c
+++ b/mm/filemap.c
@@ -2414,7 +2414,7 @@ static int filemap_read_folio(struct file *file, struct address_space *mapping,
/*
* A previous I/O error may have been due to temporary failures,
- * eg. multipath errors. PG_error will be set again if readpage
+ * eg. multipath errors. PG_error will be set again if read_folio
* fails.
*/
folio_clear_error(folio);
@@ -2636,7 +2636,7 @@ static int filemap_get_pages(struct kiocb *iocb, struct iov_iter *iter,
* @already_read: Number of bytes already read by the caller.
*
* Copies data from the page cache. If the data is not currently present,
- * uses the readahead and readpage address_space operations to fetch it.
+ * uses the readahead and read_folio address_space operations to fetch it.
*
* Return: Total number of bytes copied, including those already read by
* the caller. If an error happens before any bytes are copied, returns
diff --git a/mm/memory.c b/mm/memory.c
index 76e3af9639d9..2a12028a3749 100644
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -555,11 +555,11 @@ static void print_bad_pte(struct vm_area_struct *vma, unsigned long addr,
dump_page(page, "bad pte");
pr_alert("addr:%px vm_flags:%08lx anon_vma:%px mapping:%px index:%lx\n",
(void *)addr, vma->vm_flags, vma->anon_vma, mapping, index);
- pr_alert("file:%pD fault:%ps mmap:%ps readpage:%ps\n",
+ pr_alert("file:%pD fault:%ps mmap:%ps read_folio:%ps\n",
vma->vm_file,
vma->vm_ops ? vma->vm_ops->fault : NULL,
vma->vm_file ? vma->vm_file->f_op->mmap : NULL,
- mapping ? mapping->a_ops->readpage : NULL);
+ mapping ? mapping->a_ops->read_folio : NULL);
dump_stack();
add_taint(TAINT_BAD_PAGE, LOCKDEP_NOW_UNRELIABLE);
}
diff --git a/mm/readahead.c b/mm/readahead.c
index 2004aa58ae24..ef506df2de7f 100644
--- a/mm/readahead.c
+++ b/mm/readahead.c
@@ -253,8 +253,8 @@ void page_cache_ra_unbounded(struct readahead_control *ractl,
}
/*
- * Now start the IO. We ignore I/O errors - if the page is not
- * uptodate then the caller will launch readpage again, and
+ * Now start the IO. We ignore I/O errors - if the folio is not
+ * uptodate then the caller will launch read_folio again, and
* will then handle the error.
*/
read_pages(ractl);
diff --git a/mm/shmem.c b/mm/shmem.c
index 0f557a512171..f3e8de8ff75c 100644
--- a/mm/shmem.c
+++ b/mm/shmem.c
@@ -4162,7 +4162,7 @@ int shmem_zero_setup(struct vm_area_struct *vma)
*
* This behaves as a tmpfs "read_cache_page_gfp(mapping, index, gfp)",
* with any new page allocations done using the specified allocation flags.
- * But read_cache_page_gfp() uses the ->readpage() method: which does not
+ * But read_cache_page_gfp() uses the ->read_folio() method: which does not
* suit tmpfs, since it may have pages in swapcache, and needs to find those
* for itself; although drivers/gpu/drm i915 and ttm rely upon this support.
*
diff --git a/mm/swapfile.c b/mm/swapfile.c
index 63c61f8b2611..ecd45bdbad9b 100644
--- a/mm/swapfile.c
+++ b/mm/swapfile.c
@@ -3041,7 +3041,7 @@ SYSCALL_DEFINE2(swapon, const char __user *, specialfile, int, swap_flags)
/*
* Read the swap header.
*/
- if (!mapping->a_ops->readpage) {
+ if (!mapping->a_ops->read_folio) {
error = -EINVAL;
goto bad_swap_unlock_inode;
}
--
2.34.1
prev parent reply other threads:[~2022-04-29 17:27 UTC|newest]
Thread overview: 90+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-04-29 17:24 [PATCH 00/69] Filesystem/page cache patches for 5.19 Matthew Wilcox (Oracle)
2022-04-29 17:24 ` [PATCH 01/69] scsicam: Fix use of page cache Matthew Wilcox (Oracle)
2022-05-03 14:35 ` Christoph Hellwig
2022-05-03 21:12 ` Matthew Wilcox
2022-04-29 17:24 ` [PATCH 02/69] ext4: Use page_symlink() instead of __page_symlink() Matthew Wilcox (Oracle)
2022-04-29 17:24 ` [PATCH 03/69] namei: Merge page_symlink() and __page_symlink() Matthew Wilcox (Oracle)
2022-04-29 17:24 ` [PATCH 04/69] namei: Convert page_symlink() to use memalloc_nofs_save() Matthew Wilcox (Oracle)
2022-04-29 17:24 ` [PATCH 05/69] f2fs: Convert f2fs_grab_cache_page() to use scoped memory APIs Matthew Wilcox (Oracle)
2022-04-29 17:24 ` [PATCH 06/69] ext4: Allow GFP_FS allocations in ext4_da_convert_inline_data_to_extent() Matthew Wilcox (Oracle)
2022-04-29 17:24 ` [PATCH 07/69] ext4: Use scoped memory API in mext_page_double_lock() Matthew Wilcox (Oracle)
2022-04-29 17:24 ` [PATCH 08/69] ext4: Use scoped memory APIs in ext4_da_write_begin() Matthew Wilcox (Oracle)
2022-04-29 17:24 ` [PATCH 09/69] ext4: Use scoped memory APIs in ext4_write_begin() Matthew Wilcox (Oracle)
2022-04-29 17:24 ` [PATCH 10/69] fs: Remove AOP_FLAG_NOFS Matthew Wilcox (Oracle)
2022-04-29 17:24 ` [PATCH 11/69] fs: Remove aop_flags parameter from netfs_write_begin() Matthew Wilcox (Oracle)
2022-04-29 17:24 ` [PATCH 12/69] fs: Remove aop flags parameter from block_write_begin() Matthew Wilcox (Oracle)
2022-04-29 17:25 ` [PATCH 13/69] fs: Remove aop flags parameter from cont_write_begin() Matthew Wilcox (Oracle)
2022-04-29 17:25 ` [PATCH 14/69] fs: Remove aop flags parameter from grab_cache_page_write_begin() Matthew Wilcox (Oracle)
2022-04-29 17:25 ` [PATCH 15/69] fs: Remove aop flags parameter from nobh_write_begin() Matthew Wilcox (Oracle)
2022-04-29 17:25 ` [PATCH 16/69] fs: Remove flags parameter from aops->write_begin Matthew Wilcox (Oracle)
2022-04-29 17:25 ` [PATCH 17/69] buffer: Call aops write_begin() and write_end() directly Matthew Wilcox (Oracle)
2022-05-03 14:36 ` Christoph Hellwig
2022-04-29 17:25 ` [PATCH 18/69] namei: " Matthew Wilcox (Oracle)
2022-05-03 14:36 ` Christoph Hellwig
2022-04-29 17:25 ` [PATCH 19/69] ntfs3: Call ntfs_write_begin() and ntfs_write_end() directly Matthew Wilcox (Oracle)
2022-05-03 6:15 ` Namjae Jeon
2022-05-03 14:36 ` Christoph Hellwig
2022-04-29 17:25 ` [PATCH 20/69] hfs: Call hfs_write_begin() and generic_write_end() directly Matthew Wilcox (Oracle)
2022-05-03 14:37 ` Christoph Hellwig
2022-04-29 17:25 ` [PATCH 21/69] hfsplus: Call hfsplus_write_begin() " Matthew Wilcox (Oracle)
2022-05-03 14:37 ` Christoph Hellwig
2022-04-29 17:25 ` [PATCH 22/69] ext4: Call aops write_begin() and write_end() directly Matthew Wilcox (Oracle)
2022-05-03 14:37 ` Christoph Hellwig
2022-04-29 17:25 ` [PATCH 23/69] f2fs: " Matthew Wilcox (Oracle)
2022-05-03 14:37 ` Christoph Hellwig
2022-04-29 17:25 ` [PATCH 24/69] i915: " Matthew Wilcox (Oracle)
2022-05-03 14:38 ` Christoph Hellwig
2022-04-29 17:25 ` [PATCH 25/69] fs: Remove pagecache_write_begin() and pagecache_write_end() Matthew Wilcox (Oracle)
2022-05-03 14:38 ` Christoph Hellwig
2022-04-29 17:25 ` [PATCH 26/69] filemap: Remove obsolete comment in lock_page Matthew Wilcox (Oracle)
2022-05-03 14:38 ` Christoph Hellwig
2022-04-29 17:25 ` [PATCH 27/69] filemap: Update the folio_lock documentation Matthew Wilcox (Oracle)
2022-04-29 17:25 ` [PATCH 28/69] filemap: Update the folio_mark_dirty documentation Matthew Wilcox (Oracle)
2022-04-29 17:25 ` [PATCH 29/69] readahead: Use a folio in read_pages() Matthew Wilcox (Oracle)
2022-05-03 14:38 ` Christoph Hellwig
2022-04-29 17:25 ` [PATCH 30/69] fs: Convert is_dirty_writeback() to take a folio Matthew Wilcox (Oracle)
2022-05-03 14:39 ` Christoph Hellwig
2022-04-29 17:25 ` [PATCH 31/69] mm/readahead: Convert page_cache_async_readahead " Matthew Wilcox (Oracle)
2022-05-03 14:39 ` Christoph Hellwig
2022-04-29 17:25 ` [PATCH 32/69] buffer: Rewrite nobh_truncate_page() to use folios Matthew Wilcox (Oracle)
2022-05-03 14:41 ` Christoph Hellwig
2022-05-08 18:37 ` Matthew Wilcox
2022-04-29 17:25 ` [PATCH 33/69] fs: Introduce aops->read_folio Matthew Wilcox (Oracle)
2022-05-03 14:42 ` Christoph Hellwig
2022-05-06 20:22 ` Kees Cook
2022-04-29 17:25 ` [PATCH 34/69] fs: read_folio documentation Matthew Wilcox (Oracle)
2022-04-29 17:25 ` [PATCH 35/69] fs: Convert netfs_readpage to netfs_read_folio Matthew Wilcox (Oracle)
2022-04-29 17:25 ` [PATCH 36/69] fs: Convert iomap_readpage to iomap_read_folio Matthew Wilcox (Oracle)
2022-04-29 17:25 ` [PATCH 37/69] fs: Convert block_read_full_page() to block_read_full_folio() Matthew Wilcox (Oracle)
2022-04-29 17:25 ` [PATCH 38/69] fs: Convert mpage_readpage to mpage_read_folio Matthew Wilcox (Oracle)
2022-04-29 17:25 ` [PATCH 39/69] fs: Convert simple_readpage to simple_read_folio Matthew Wilcox (Oracle)
2022-04-29 17:25 ` [PATCH 40/69] affs: Convert affs to read_folio Matthew Wilcox (Oracle)
2022-04-29 17:25 ` [PATCH 41/69] afs: Convert afs_symlink_readpage to afs_symlink_read_folio Matthew Wilcox (Oracle)
2022-04-29 17:25 ` [PATCH 42/69] befs: Convert befs to read_folio Matthew Wilcox (Oracle)
2022-04-29 17:25 ` [PATCH 43/69] btrfs: Convert btrfs " Matthew Wilcox (Oracle)
2022-04-29 17:25 ` [PATCH 44/69] cifs: Convert cifs " Matthew Wilcox (Oracle)
2022-04-29 17:25 ` [PATCH 45/69] coda: Convert coda " Matthew Wilcox (Oracle)
2022-04-29 17:25 ` [PATCH 46/69] cramfs: Convert cramfs " Matthew Wilcox (Oracle)
2022-04-29 17:25 ` [PATCH 47/69] ecryptfs: Convert ecryptfs " Matthew Wilcox (Oracle)
2022-04-29 17:25 ` [PATCH 48/69] efs: Convert efs symlinks " Matthew Wilcox (Oracle)
2022-04-29 17:25 ` [PATCH 49/69] erofs: Convert erofs zdata " Matthew Wilcox (Oracle)
2022-04-29 17:25 ` [PATCH 50/69] ext4: Convert ext4 " Matthew Wilcox (Oracle)
2022-04-29 17:25 ` [PATCH 51/69] f2fs: Convert f2fs " Matthew Wilcox (Oracle)
2022-04-29 17:25 ` [PATCH 52/69] freevxfs: Convert vxfs_immed " Matthew Wilcox (Oracle)
2022-04-29 17:25 ` [PATCH 53/69] fuse: Convert fuse " Matthew Wilcox (Oracle)
2022-04-29 17:25 ` [PATCH 54/69] hostfs: Convert hostfs " Matthew Wilcox (Oracle)
2022-04-29 17:25 ` [PATCH 55/69] hpfs: Convert symlinks " Matthew Wilcox (Oracle)
2022-04-29 17:25 ` [PATCH 56/69] isofs: Convert symlinks and zisofs " Matthew Wilcox (Oracle)
2022-04-29 17:25 ` [PATCH 57/69] jffs2: Convert jffs2 " Matthew Wilcox (Oracle)
2022-04-29 17:25 ` [PATCH 58/69] jfs: Convert metadata pages " Matthew Wilcox (Oracle)
2022-04-29 17:25 ` [PATCH 59/69] nfs: Convert nfs " Matthew Wilcox (Oracle)
2022-04-29 17:25 ` [PATCH 60/69] ntfs: Convert ntfs " Matthew Wilcox (Oracle)
2022-04-29 17:25 ` [PATCH 61/69] ocfs2: Convert ocfs2 " Matthew Wilcox (Oracle)
2022-04-29 17:25 ` [PATCH 62/69] orangefs: Convert orangefs " Matthew Wilcox (Oracle)
2022-04-29 17:25 ` [PATCH 63/69] romfs: Convert romfs " Matthew Wilcox (Oracle)
2022-04-29 17:25 ` [PATCH 64/69] squashfs: Convert squashfs " Matthew Wilcox (Oracle)
2022-04-29 17:25 ` [PATCH 65/69] ubifs: Convert ubifs " Matthew Wilcox (Oracle)
2022-04-29 17:25 ` [PATCH 66/69] udf: Convert adinicb and symlinks " Matthew Wilcox (Oracle)
2022-04-29 17:25 ` [PATCH 67/69] vboxsf: Convert vboxsf " Matthew Wilcox (Oracle)
2022-04-29 17:25 ` [PATCH 68/69] mm: Convert swap_readpage to call read_folio instead of readpage Matthew Wilcox (Oracle)
2022-04-29 17:25 ` Matthew Wilcox (Oracle) [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220429172556.3011843-70-willy@infradead.org \
--to=willy@infradead.org \
--cc=linux-fsdevel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).