fs: Remove aops->freepage
All implementations now use free_folio so we can delete the callers and the method. Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
This commit is contained in:
parent
6612ed24a2
commit
8560cb1a7d
|
@ -357,7 +357,6 @@ struct address_space_operations {
|
|||
void (*invalidate_folio) (struct folio *, size_t offset, size_t len);
|
||||
bool (*release_folio)(struct folio *, gfp_t);
|
||||
void (*free_folio)(struct folio *folio);
|
||||
void (*freepage)(struct page *);
|
||||
ssize_t (*direct_IO)(struct kiocb *, struct iov_iter *iter);
|
||||
/*
|
||||
* migrate the contents of a page to the specified target. If
|
||||
|
|
|
@ -225,16 +225,12 @@ void __filemap_remove_folio(struct folio *folio, void *shadow)
|
|||
|
||||
void filemap_free_folio(struct address_space *mapping, struct folio *folio)
|
||||
{
|
||||
void (*freepage)(struct page *);
|
||||
void (*free_folio)(struct folio *);
|
||||
int refs = 1;
|
||||
|
||||
free_folio = mapping->a_ops->free_folio;
|
||||
if (free_folio)
|
||||
free_folio(folio);
|
||||
freepage = mapping->a_ops->freepage;
|
||||
if (freepage)
|
||||
freepage(&folio->page);
|
||||
|
||||
if (folio_test_large(folio) && !folio_test_hugetlb(folio))
|
||||
refs = folio_nr_pages(folio);
|
||||
|
@ -812,7 +808,6 @@ void replace_page_cache_page(struct page *old, struct page *new)
|
|||
struct folio *fnew = page_folio(new);
|
||||
struct address_space *mapping = old->mapping;
|
||||
void (*free_folio)(struct folio *) = mapping->a_ops->free_folio;
|
||||
void (*freepage)(struct page *) = mapping->a_ops->freepage;
|
||||
pgoff_t offset = old->index;
|
||||
XA_STATE(xas, &mapping->i_pages, offset);
|
||||
|
||||
|
@ -842,8 +837,6 @@ void replace_page_cache_page(struct page *old, struct page *new)
|
|||
xas_unlock_irq(&xas);
|
||||
if (free_folio)
|
||||
free_folio(fold);
|
||||
if (freepage)
|
||||
freepage(old);
|
||||
folio_put(fold);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(replace_page_cache_page);
|
||||
|
|
|
@ -1283,10 +1283,8 @@ static int __remove_mapping(struct address_space *mapping, struct folio *folio,
|
|||
put_swap_page(&folio->page, swap);
|
||||
} else {
|
||||
void (*free_folio)(struct folio *);
|
||||
void (*freepage)(struct page *);
|
||||
|
||||
free_folio = mapping->a_ops->free_folio;
|
||||
freepage = mapping->a_ops->freepage;
|
||||
/*
|
||||
* Remember a shadow entry for reclaimed file cache in
|
||||
* order to detect refaults, thus thrashing, later on.
|
||||
|
@ -1314,8 +1312,6 @@ static int __remove_mapping(struct address_space *mapping, struct folio *folio,
|
|||
|
||||
if (free_folio)
|
||||
free_folio(folio);
|
||||
if (freepage)
|
||||
freepage(&folio->page);
|
||||
}
|
||||
|
||||
return 1;
|
||||
|
|
Loading…
Reference in New Issue