mirror of
https://github.com/torvalds/linux.git
synced 2024-11-25 05:32:00 +00:00
btrfs: convert try_release_extent_mapping() to take a folio
The old page API is being gradually replaced and converted to use folio to improve code readability and avoid repeated conversion between page and folio. And page_to_inode() can be replaced with folio_to_inode() now. Signed-off-by: Li Zetao <lizetao1@huawei.com> Reviewed-by: David Sterba <dsterba@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
dd0a8df455
commit
046c0d6596
@ -2341,11 +2341,11 @@ static bool try_release_extent_state(struct extent_io_tree *tree,
|
|||||||
* in the range corresponding to the page, both state records and extent
|
* in the range corresponding to the page, both state records and extent
|
||||||
* map records are removed
|
* map records are removed
|
||||||
*/
|
*/
|
||||||
bool try_release_extent_mapping(struct page *page, gfp_t mask)
|
bool try_release_extent_mapping(struct folio *folio, gfp_t mask)
|
||||||
{
|
{
|
||||||
u64 start = page_offset(page);
|
u64 start = folio_pos(folio);
|
||||||
u64 end = start + PAGE_SIZE - 1;
|
u64 end = start + PAGE_SIZE - 1;
|
||||||
struct btrfs_inode *inode = page_to_inode(page);
|
struct btrfs_inode *inode = folio_to_inode(folio);
|
||||||
struct extent_io_tree *io_tree = &inode->io_tree;
|
struct extent_io_tree *io_tree = &inode->io_tree;
|
||||||
|
|
||||||
while (start <= end) {
|
while (start <= end) {
|
||||||
|
@ -236,7 +236,7 @@ static inline void extent_changeset_free(struct extent_changeset *changeset)
|
|||||||
kfree(changeset);
|
kfree(changeset);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool try_release_extent_mapping(struct page *page, gfp_t mask);
|
bool try_release_extent_mapping(struct folio *folio, gfp_t mask);
|
||||||
int try_release_extent_buffer(struct folio *folio);
|
int try_release_extent_buffer(struct folio *folio);
|
||||||
|
|
||||||
int btrfs_read_folio(struct file *file, struct folio *folio);
|
int btrfs_read_folio(struct file *file, struct folio *folio);
|
||||||
|
@ -7238,7 +7238,7 @@ static int btrfs_launder_folio(struct folio *folio)
|
|||||||
|
|
||||||
static bool __btrfs_release_folio(struct folio *folio, gfp_t gfp_flags)
|
static bool __btrfs_release_folio(struct folio *folio, gfp_t gfp_flags)
|
||||||
{
|
{
|
||||||
if (try_release_extent_mapping(&folio->page, gfp_flags)) {
|
if (try_release_extent_mapping(folio, gfp_flags)) {
|
||||||
wait_subpage_spinlock(folio);
|
wait_subpage_spinlock(folio);
|
||||||
clear_folio_extent_mapped(folio);
|
clear_folio_extent_mapped(folio);
|
||||||
return true;
|
return true;
|
||||||
|
Loading…
Reference in New Issue
Block a user