mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-04-30 22:50:54 -04:00
btrfs: convert btrfs_cleanup_ordered_extents() to use folios
We walk through pages in this function and clear ordered, and the function for this uses folios. Update the function to use a folio for this whole operation. Signed-off-by: Josef Bacik <josef@toxicpanda.com> Reviewed-by: David Sterba <dsterba@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
committed by
David Sterba
parent
42a5947b1c
commit
b38ec94ab9
@@ -399,7 +399,7 @@ static inline void btrfs_cleanup_ordered_extents(struct btrfs_inode *inode,
|
||||
unsigned long index = offset >> PAGE_SHIFT;
|
||||
unsigned long end_index = (offset + bytes - 1) >> PAGE_SHIFT;
|
||||
u64 page_start = 0, page_end = 0;
|
||||
struct page *page;
|
||||
struct folio *folio;
|
||||
|
||||
if (locked_page) {
|
||||
page_start = page_offset(locked_page);
|
||||
@@ -421,9 +421,9 @@ static inline void btrfs_cleanup_ordered_extents(struct btrfs_inode *inode,
|
||||
index++;
|
||||
continue;
|
||||
}
|
||||
page = find_get_page(inode->vfs_inode.i_mapping, index);
|
||||
folio = __filemap_get_folio(inode->vfs_inode.i_mapping, index, 0, 0);
|
||||
index++;
|
||||
if (!page)
|
||||
if (IS_ERR(folio))
|
||||
continue;
|
||||
|
||||
/*
|
||||
@@ -431,9 +431,9 @@ static inline void btrfs_cleanup_ordered_extents(struct btrfs_inode *inode,
|
||||
* range, then btrfs_mark_ordered_io_finished() will handle
|
||||
* the ordered extent accounting for the range.
|
||||
*/
|
||||
btrfs_folio_clamp_clear_ordered(inode->root->fs_info,
|
||||
page_folio(page), offset, bytes);
|
||||
put_page(page);
|
||||
btrfs_folio_clamp_clear_ordered(inode->root->fs_info, folio,
|
||||
offset, bytes);
|
||||
folio_put(folio);
|
||||
}
|
||||
|
||||
if (locked_page) {
|
||||
|
||||
Reference in New Issue
Block a user