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

nilfs2: convert nilfs_empty_dir() to use a folio

parent f59bb60f
Loading
Loading
Loading
Loading
+4 −15
Original line number Diff line number Diff line
@@ -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;
}