nilfs2: Convert nilfs_copy_buffer() to use folios

Use folio APIs instead of page APIs.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Link: https://lore.kernel.org/r/20241002040111.1023018-3-willy@infradead.org
Acked-by: Ryusuke Konishi <konishi.ryusuke@gmail.com>
Signed-off-by: Christian Brauner <brauner@kernel.org>
This commit is contained in:
Matthew Wilcox (Oracle) 2024-10-02 05:01:04 +01:00 committed by Christian Brauner
parent 9c33d85e34
commit a38117bc0d
No known key found for this signature in database
GPG Key ID: 91C61BC06578DCA2

View File

@ -98,16 +98,16 @@ void nilfs_forget_buffer(struct buffer_head *bh)
*/
void nilfs_copy_buffer(struct buffer_head *dbh, struct buffer_head *sbh)
{
void *kaddr0, *kaddr1;
void *saddr, *daddr;
unsigned long bits;
struct page *spage = sbh->b_page, *dpage = dbh->b_page;
struct folio *sfolio = sbh->b_folio, *dfolio = dbh->b_folio;
struct buffer_head *bh;
kaddr0 = kmap_local_page(spage);
kaddr1 = kmap_local_page(dpage);
memcpy(kaddr1 + bh_offset(dbh), kaddr0 + bh_offset(sbh), sbh->b_size);
kunmap_local(kaddr1);
kunmap_local(kaddr0);
saddr = kmap_local_folio(sfolio, bh_offset(sbh));
daddr = kmap_local_folio(dfolio, bh_offset(dbh));
memcpy(daddr, saddr, sbh->b_size);
kunmap_local(daddr);
kunmap_local(saddr);
dbh->b_state = sbh->b_state & NILFS_BUFFER_INHERENT_BITS;
dbh->b_blocknr = sbh->b_blocknr;
@ -121,13 +121,13 @@ void nilfs_copy_buffer(struct buffer_head *dbh, struct buffer_head *sbh)
unlock_buffer(bh);
}
if (bits & BIT(BH_Uptodate))
SetPageUptodate(dpage);
folio_mark_uptodate(dfolio);
else
ClearPageUptodate(dpage);
folio_clear_uptodate(dfolio);
if (bits & BIT(BH_Mapped))
SetPageMappedToDisk(dpage);
folio_set_mappedtodisk(dfolio);
else
ClearPageMappedToDisk(dpage);
folio_clear_mappedtodisk(dfolio);
}
/**