nilfs2: convert nilfs_empty_dir() to use a folio

Remove three calls to compound_head() by using the folio API.

Link: https://lkml.kernel.org/r/20231127143036.2425-15-konishi.ryusuke@gmail.com
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Signed-off-by: Ryusuke Konishi <konishi.ryusuke@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
Matthew Wilcox (Oracle) 2023-11-27 23:30:33 +09:00 committed by Andrew Morton
parent f59bb60f7d
commit 18f03ddf4d

View file

@ -203,17 +203,6 @@ static void *nilfs_get_folio(struct inode *dir, unsigned long n,
return ERR_PTR(-EIO);
}
static void *nilfs_get_page(struct inode *dir, unsigned long n,
struct page **pagep)
{
struct folio *folio;
void *kaddr = nilfs_get_folio(dir, n, &folio);
if (!IS_ERR(kaddr))
*pagep = &folio->page;
return kaddr;
}
/*
* NOTE! unlike strncmp, nilfs_match returns 1 for success, 0 for failure.
*
@ -611,14 +600,14 @@ int nilfs_make_empty(struct inode *inode, struct inode *parent)
*/
int nilfs_empty_dir(struct inode *inode)
{
struct page *page = NULL;
struct folio *folio = NULL;
char *kaddr;
unsigned long i, npages = dir_pages(inode);
for (i = 0; i < npages; i++) {
struct nilfs_dir_entry *de;
kaddr = nilfs_get_page(inode, i, &page);
kaddr = nilfs_get_folio(inode, i, &folio);
if (IS_ERR(kaddr))
continue;
@ -647,12 +636,12 @@ int nilfs_empty_dir(struct inode *inode)
}
de = nilfs_next_entry(de);
}
unmap_and_put_page(page, kaddr);
folio_release_kmap(folio, kaddr);
}
return 1;
not_empty:
unmap_and_put_page(page, kaddr);
folio_release_kmap(folio, kaddr);
return 0;
}