]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
nilfs2: Use a folio in nilfs_recover_dsync_blocks()
authorMatthew Wilcox (Oracle) <willy@infradead.org>
Wed, 10 Jul 2024 17:49:53 +0000 (13:49 -0400)
committerChristian Brauner <brauner@kernel.org>
Wed, 7 Aug 2024 09:31:59 +0000 (11:31 +0200)
Replaces four hidden calls to compound_head() with one.

Reviewed-by: Josef Bacik <josef@toxicpanda.com>
Acked-by: Ryusuke Konishi <konishi.ryusuke@gmail.com>
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Signed-off-by: Christian Brauner <brauner@kernel.org>
fs/nilfs2/recovery.c

index b638dc06df2f72fa0c1c5416ad964a0cdc9eac3a..15653701b1c81366e38684c774217aca425865ae 100644 (file)
@@ -499,6 +499,7 @@ static int nilfs_recover_dsync_blocks(struct the_nilfs *nilfs,
        struct nilfs_recovery_block *rb, *n;
        unsigned int blocksize = nilfs->ns_blocksize;
        struct page *page;
+       struct folio *folio;
        loff_t pos;
        int err = 0, err2 = 0;
 
@@ -522,6 +523,7 @@ static int nilfs_recover_dsync_blocks(struct the_nilfs *nilfs,
                        goto failed_inode;
                }
 
+               folio = page_folio(page);
                err = nilfs_recovery_copy_block(nilfs, rb, pos, page);
                if (unlikely(err))
                        goto failed_page;
@@ -533,15 +535,15 @@ static int nilfs_recover_dsync_blocks(struct the_nilfs *nilfs,
                block_write_end(NULL, inode->i_mapping, pos, blocksize,
                                blocksize, page, NULL);
 
-               unlock_page(page);
-               put_page(page);
+               folio_unlock(folio);
+               folio_put(folio);
 
                (*nr_salvaged_blocks)++;
                goto next;
 
  failed_page:
-               unlock_page(page);
-               put_page(page);
+               folio_unlock(folio);
+               folio_put(folio);
 
  failed_inode:
                nilfs_warn(sb,