Commit 18f03ddf authored by Matthew Wilcox (Oracle)'s avatar Matthew Wilcox (Oracle) Committed by Andrew Morton

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.comSigned-off-by: default avatarMatthew Wilcox (Oracle) <willy@infradead.org>
Signed-off-by: default avatarRyusuke Konishi <konishi.ryusuke@gmail.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
parent f59bb60f
...@@ -203,17 +203,6 @@ static void *nilfs_get_folio(struct inode *dir, unsigned long n, ...@@ -203,17 +203,6 @@ static void *nilfs_get_folio(struct inode *dir, unsigned long n,
return ERR_PTR(-EIO); 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. * 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) ...@@ -611,14 +600,14 @@ int nilfs_make_empty(struct inode *inode, struct inode *parent)
*/ */
int nilfs_empty_dir(struct inode *inode) int nilfs_empty_dir(struct inode *inode)
{ {
struct page *page = NULL; struct folio *folio = NULL;
char *kaddr; char *kaddr;
unsigned long i, npages = dir_pages(inode); unsigned long i, npages = dir_pages(inode);
for (i = 0; i < npages; i++) { for (i = 0; i < npages; i++) {
struct nilfs_dir_entry *de; struct nilfs_dir_entry *de;
kaddr = nilfs_get_page(inode, i, &page); kaddr = nilfs_get_folio(inode, i, &folio);
if (IS_ERR(kaddr)) if (IS_ERR(kaddr))
continue; continue;
...@@ -647,12 +636,12 @@ int nilfs_empty_dir(struct inode *inode) ...@@ -647,12 +636,12 @@ int nilfs_empty_dir(struct inode *inode)
} }
de = nilfs_next_entry(de); de = nilfs_next_entry(de);
} }
unmap_and_put_page(page, kaddr); folio_release_kmap(folio, kaddr);
} }
return 1; return 1;
not_empty: not_empty:
unmap_and_put_page(page, kaddr); folio_release_kmap(folio, kaddr);
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment