hugetlbfs: convert hugetlb_delete_from_page_cache() to use folios
Remove the last caller of delete_from_page_cache() by converting the code to its folio equivalent. Link: https://lkml.kernel.org/r/20220922154207.1575343-5-sidhartha.kumar@oracle.com Signed-off-by: Sidhartha Kumar <sidhartha.kumar@oracle.com> Reviewed-by: Mike Kravetz <mike.kravetz@oracle.com> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Colin Cross <ccross@google.com> Cc: David Howells <dhowells@redhat.com> Cc: "Eric W . Biederman" <ebiederm@xmission.com> Cc: Hugh Dickins <hughd@google.com> Cc: Matthew Wilcox <willy@infradead.org> Cc: Muchun Song <songmuchun@bytedance.com> Cc: Peter Xu <peterx@redhat.com> Cc: Vlastimil Babka <vbabka@suse.cz> Cc: William Kucharski <william.kucharski@oracle.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
149562f750
commit
ece62684dc
|
@ -364,11 +364,11 @@ static int hugetlbfs_write_end(struct file *file, struct address_space *mapping,
|
|||
return -EINVAL;
|
||||
}
|
||||
|
||||
static void hugetlb_delete_from_page_cache(struct page *page)
|
||||
static void hugetlb_delete_from_page_cache(struct folio *folio)
|
||||
{
|
||||
ClearPageDirty(page);
|
||||
ClearPageUptodate(page);
|
||||
delete_from_page_cache(page);
|
||||
folio_clear_dirty(folio);
|
||||
folio_clear_uptodate(folio);
|
||||
filemap_remove_folio(folio);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -574,8 +574,8 @@ static bool remove_inode_single_folio(struct hstate *h, struct inode *inode,
|
|||
* map could fail. Correspondingly, the subpool and global
|
||||
* reserve usage count can need to be adjusted.
|
||||
*/
|
||||
VM_BUG_ON(HPageRestoreReserve(&folio->page));
|
||||
hugetlb_delete_from_page_cache(&folio->page);
|
||||
VM_BUG_ON_FOLIO(folio_test_hugetlb_restore_reserve(folio), folio);
|
||||
hugetlb_delete_from_page_cache(folio);
|
||||
ret = true;
|
||||
if (!truncate_op) {
|
||||
if (unlikely(hugetlb_unreserve_pages(inode, index,
|
||||
|
|
|
@ -1102,7 +1102,6 @@ int add_to_page_cache_lru(struct page *page, struct address_space *mapping,
|
|||
int filemap_add_folio(struct address_space *mapping, struct folio *folio,
|
||||
pgoff_t index, gfp_t gfp);
|
||||
void filemap_remove_folio(struct folio *folio);
|
||||
void delete_from_page_cache(struct page *page);
|
||||
void __filemap_remove_folio(struct folio *folio, void *shadow);
|
||||
void replace_page_cache_page(struct page *old, struct page *new);
|
||||
void delete_from_page_cache_batch(struct address_space *mapping,
|
||||
|
|
|
@ -124,11 +124,6 @@ struct page *grab_cache_page_write_begin(struct address_space *mapping,
|
|||
}
|
||||
EXPORT_SYMBOL(grab_cache_page_write_begin);
|
||||
|
||||
void delete_from_page_cache(struct page *page)
|
||||
{
|
||||
return filemap_remove_folio(page_folio(page));
|
||||
}
|
||||
|
||||
int try_to_release_page(struct page *page, gfp_t gfp)
|
||||
{
|
||||
return filemap_release_folio(page_folio(page), gfp);
|
||||
|
|
Loading…
Reference in New Issue