nfs: Convert to free_folio

Add a wrapper that converts back from the folio to the page.  This
entire file needs to be converted to use folios, but that's a
task for a different set of patches.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
This commit is contained in:
Matthew Wilcox (Oracle) 2022-05-01 08:00:56 -04:00
parent c78ac80e98
commit aa5dc8c461

View File

@ -55,7 +55,7 @@ static int nfs_closedir(struct inode *, struct file *);
static int nfs_readdir(struct file *, struct dir_context *); static int nfs_readdir(struct file *, struct dir_context *);
static int nfs_fsync_dir(struct file *, loff_t, loff_t, int); static int nfs_fsync_dir(struct file *, loff_t, loff_t, int);
static loff_t nfs_llseek_dir(struct file *, loff_t, int); static loff_t nfs_llseek_dir(struct file *, loff_t, int);
static void nfs_readdir_clear_array(struct page*); static void nfs_readdir_free_folio(struct folio *);
const struct file_operations nfs_dir_operations = { const struct file_operations nfs_dir_operations = {
.llseek = nfs_llseek_dir, .llseek = nfs_llseek_dir,
@ -67,7 +67,7 @@ const struct file_operations nfs_dir_operations = {
}; };
const struct address_space_operations nfs_dir_aops = { const struct address_space_operations nfs_dir_aops = {
.freepage = nfs_readdir_clear_array, .free_folio = nfs_readdir_free_folio,
}; };
#define NFS_INIT_DTSIZE PAGE_SIZE #define NFS_INIT_DTSIZE PAGE_SIZE
@ -228,6 +228,11 @@ static void nfs_readdir_clear_array(struct page *page)
kunmap_atomic(array); kunmap_atomic(array);
} }
static void nfs_readdir_free_folio(struct folio *folio)
{
nfs_readdir_clear_array(&folio->page);
}
static void nfs_readdir_page_reinit_array(struct page *page, u64 last_cookie, static void nfs_readdir_page_reinit_array(struct page *page, u64 last_cookie,
u64 change_attr) u64 change_attr)
{ {