btrfs_folio_end_writer_lock(fs_info, folio, start, len);
}
-static void __process_pages_contig(struct address_space *mapping,
- const struct page *locked_page, u64 start, u64 end,
- unsigned long page_ops)
+static void __process_folios_contig(struct address_space *mapping,
+ const struct folio *locked_folio, u64 start,
+ u64 end, unsigned long page_ops)
{
struct btrfs_fs_info *fs_info = inode_to_fs_info(mapping->host);
pgoff_t start_index = start >> PAGE_SHIFT;
for (i = 0; i < found_folios; i++) {
struct folio *folio = fbatch.folios[i];
- process_one_page(fs_info, &folio->page, locked_page,
- page_ops, start, end);
+ process_one_page(fs_info, &folio->page,
+ &locked_folio->page, page_ops, start,
+ end);
}
folio_batch_release(&fbatch);
cond_resched();
if (index == locked_folio->index && end_index == index)
return;
- __process_pages_contig(inode->i_mapping, &locked_folio->page, start,
- end, PAGE_UNLOCK);
+ __process_folios_contig(inode->i_mapping, locked_folio, start, end,
+ PAGE_UNLOCK);
}
static noinline int lock_delalloc_folios(struct inode *inode,
{
clear_extent_bit(&inode->io_tree, start, end, clear_bits, cached);
- __process_pages_contig(inode->vfs_inode.i_mapping, locked_page,
- start, end, page_ops);
+ __process_folios_contig(inode->vfs_inode.i_mapping,
+ page_folio(locked_page), start, end, page_ops);
}
static bool btrfs_verify_folio(struct folio *folio, u64 start, u32 len)