nilfs2: Use a folio in nilfs_recover_dsync_blocks()

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>
This commit is contained in:
Matthew Wilcox (Oracle) 2024-07-10 13:49:53 -04:00 committed by Christian Brauner
parent 696876d035
commit 663459c851
No known key found for this signature in database
GPG Key ID: 91C61BC06578DCA2

View 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,