| From | Matthew Wilcox <> | Subject | [PATCH v7 32/61] page cache: Convert filemap_range_has_page to XArray | Date | Mon, 19 Feb 2018 11:45:27 -0800 |
| |
From: Matthew Wilcox <mawilcox@microsoft.com>
Instead of calling find_get_pages_range() and putting any reference, just use xa_find() to look for a page in the right range.
Signed-off-by: Matthew Wilcox <mawilcox@microsoft.com> --- mm/filemap.c | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-)
diff --git a/mm/filemap.c b/mm/filemap.c index 3735ea6e3d19..a02d69a957e4 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -460,18 +460,11 @@ bool filemap_range_has_page(struct address_space *mapping, { pgoff_t index = start_byte >> PAGE_SHIFT; pgoff_t end = end_byte >> PAGE_SHIFT; - struct page *page; if (end_byte < start_byte) return false; - if (mapping->nrpages == 0) - return false; - - if (!find_get_pages_range(mapping, &index, end, 1, &page)) - return false; - put_page(page); - return true; + return xa_find(&mapping->pages, &index, end, XA_PRESENT); } EXPORT_SYMBOL(filemap_range_has_page); -- 2.16.1
|