[PATCH 5/5] fs: Remove aops->freepage

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



All implementations now use free_folio so we can delete the callers
and the method.

Signed-off-by: Matthew Wilcox (Oracle) <willy@xxxxxxxxxxxxx>
---
 include/linux/fs.h | 1 -
 mm/filemap.c       | 7 -------
 mm/vmscan.c        | 4 ----
 3 files changed, 12 deletions(-)

diff --git a/include/linux/fs.h b/include/linux/fs.h
index 915844e6293e..6f305f1097a5 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -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
diff --git a/mm/filemap.c b/mm/filemap.c
index adcdef56890f..fa0ca674450f 100644
--- a/mm/filemap.c
+++ b/mm/filemap.c
@@ -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);
diff --git a/mm/vmscan.c b/mm/vmscan.c
index d8a031128ad0..edc89f26b738 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -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;
-- 
2.34.1




[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [NTFS 3]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [NTFS 3]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux