afs: Convert to release_folio
authorMatthew Wilcox (Oracle) <willy@infradead.org>
Sun, 1 May 2022 03:05:09 +0000 (23:05 -0400)
committerMatthew Wilcox (Oracle) <willy@infradead.org>
Tue, 10 May 2022 03:12:32 +0000 (23:12 -0400)
A straightforward conversion as they already work in terms of folios.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
fs/afs/dir.c
fs/afs/file.c
fs/afs/internal.h

index 932e61e28e5d9f10e8192c597b750af878f56dc6..94aa7356248e2ea0d1ab740f14985b36c15b50b5 100644 (file)
@@ -41,7 +41,7 @@ static int afs_symlink(struct user_namespace *mnt_userns, struct inode *dir,
 static int afs_rename(struct user_namespace *mnt_userns, struct inode *old_dir,
                      struct dentry *old_dentry, struct inode *new_dir,
                      struct dentry *new_dentry, unsigned int flags);
-static int afs_dir_releasepage(struct page *page, gfp_t gfp_flags);
+static bool afs_dir_release_folio(struct folio *folio, gfp_t gfp_flags);
 static void afs_dir_invalidate_folio(struct folio *folio, size_t offset,
                                   size_t length);
 
@@ -75,7 +75,7 @@ const struct inode_operations afs_dir_inode_operations = {
 
 const struct address_space_operations afs_dir_aops = {
        .dirty_folio    = afs_dir_dirty_folio,
-       .releasepage    = afs_dir_releasepage,
+       .release_folio  = afs_dir_release_folio,
        .invalidate_folio = afs_dir_invalidate_folio,
 };
 
@@ -2002,9 +2002,8 @@ error:
  * Release a directory folio and clean up its private state if it's not busy
  * - return true if the folio can now be released, false if not
  */
-static int afs_dir_releasepage(struct page *subpage, gfp_t gfp_flags)
+static bool afs_dir_release_folio(struct folio *folio, gfp_t gfp_flags)
 {
-       struct folio *folio = page_folio(subpage);
        struct afs_vnode *dvnode = AFS_FS_I(folio_inode(folio));
 
        _enter("{{%llx:%llu}[%lu]}", dvnode->fid.vid, dvnode->fid.vnode, folio_index(folio));
index 65ef69a1f78ef8ca9d2ed41ad28ac146290c9ba5..a8e8832179e4e5438b82220d4773c04a6efff887 100644 (file)
@@ -22,7 +22,7 @@ static int afs_file_mmap(struct file *file, struct vm_area_struct *vma);
 static int afs_symlink_read_folio(struct file *file, struct folio *folio);
 static void afs_invalidate_folio(struct folio *folio, size_t offset,
                               size_t length);
-static int afs_releasepage(struct page *page, gfp_t gfp_flags);
+static bool afs_release_folio(struct folio *folio, gfp_t gfp_flags);
 
 static ssize_t afs_file_read_iter(struct kiocb *iocb, struct iov_iter *iter);
 static void afs_vm_open(struct vm_area_struct *area);
@@ -54,7 +54,7 @@ const struct address_space_operations afs_file_aops = {
        .readahead      = netfs_readahead,
        .dirty_folio    = afs_dirty_folio,
        .launder_folio  = afs_launder_folio,
-       .releasepage    = afs_releasepage,
+       .release_folio  = afs_release_folio,
        .invalidate_folio = afs_invalidate_folio,
        .write_begin    = afs_write_begin,
        .write_end      = afs_write_end,
@@ -64,7 +64,7 @@ const struct address_space_operations afs_file_aops = {
 
 const struct address_space_operations afs_symlink_aops = {
        .read_folio     = afs_symlink_read_folio,
-       .releasepage    = afs_releasepage,
+       .release_folio  = afs_release_folio,
        .invalidate_folio = afs_invalidate_folio,
 };
 
@@ -481,16 +481,15 @@ static void afs_invalidate_folio(struct folio *folio, size_t offset,
  * release a page and clean up its private state if it's not busy
  * - return true if the page can now be released, false if not
  */
-static int afs_releasepage(struct page *page, gfp_t gfp)
+static bool afs_release_folio(struct folio *folio, gfp_t gfp)
 {
-       struct folio *folio = page_folio(page);
        struct afs_vnode *vnode = AFS_FS_I(folio_inode(folio));
 
        _enter("{{%llx:%llu}[%lu],%lx},%x",
               vnode->fid.vid, vnode->fid.vnode, folio_index(folio), folio->flags,
               gfp);
 
-       /* deny if page is being written to the cache and the caller hasn't
+       /* deny if folio is being written to the cache and the caller hasn't
         * elected to wait */
 #ifdef CONFIG_AFS_FSCACHE
        if (folio_test_fscache(folio)) {
index 7a72e9c60423a394cef27fc3b5079a2aa7fc5ce9..a30995901266fd4379107a551847c0209d8a6cdf 100644 (file)
@@ -311,7 +311,7 @@ struct afs_net {
        atomic_t                n_lookup;       /* Number of lookups done */
        atomic_t                n_reval;        /* Number of dentries needing revalidation */
        atomic_t                n_inval;        /* Number of invalidations by the server */
-       atomic_t                n_relpg;        /* Number of invalidations by releasepage */
+       atomic_t                n_relpg;        /* Number of invalidations by release_folio */
        atomic_t                n_read_dir;     /* Number of directory pages read */
        atomic_t                n_dir_cr;       /* Number of directory entry creation edits */
        atomic_t                n_dir_rm;       /* Number of directory entry removal edits */