Commit 263e721e authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Andrew Morton

mm: make mapping_get_entry available outside of filemap.c

mapping_get_entry is useful for page cache API users that need to know
about xa_value internals.  Rename it and make it available in pagemap.h.

Link: https://lkml.kernel.org/r/20230307143410.28031-3-hch@lst.deSigned-off-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarMatthew Wilcox (Oracle) <willy@infradead.org>
Cc: Andreas Gruenbacher <agruenba@redhat.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: Ryusuke Konishi <konishi.ryusuke@gmail.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
parent 1fb130b2
...@@ -507,6 +507,7 @@ pgoff_t page_cache_prev_miss(struct address_space *mapping, ...@@ -507,6 +507,7 @@ pgoff_t page_cache_prev_miss(struct address_space *mapping,
#define FGP_ENTRY 0x00000080 #define FGP_ENTRY 0x00000080
#define FGP_STABLE 0x00000100 #define FGP_STABLE 0x00000100
void *filemap_get_entry(struct address_space *mapping, pgoff_t index);
struct folio *__filemap_get_folio(struct address_space *mapping, pgoff_t index, struct folio *__filemap_get_folio(struct address_space *mapping, pgoff_t index,
int fgp_flags, gfp_t gfp); int fgp_flags, gfp_t gfp);
struct page *pagecache_get_page(struct address_space *mapping, pgoff_t index, struct page *pagecache_get_page(struct address_space *mapping, pgoff_t index,
......
...@@ -1836,7 +1836,7 @@ EXPORT_SYMBOL(page_cache_prev_miss); ...@@ -1836,7 +1836,7 @@ EXPORT_SYMBOL(page_cache_prev_miss);
*/ */
/* /*
* mapping_get_entry - Get a page cache entry. * filemap_get_entry - Get a page cache entry.
* @mapping: the address_space to search * @mapping: the address_space to search
* @index: The page cache index. * @index: The page cache index.
* *
...@@ -1847,7 +1847,7 @@ EXPORT_SYMBOL(page_cache_prev_miss); ...@@ -1847,7 +1847,7 @@ EXPORT_SYMBOL(page_cache_prev_miss);
* *
* Return: The folio, swap or shadow entry, %NULL if nothing is found. * Return: The folio, swap or shadow entry, %NULL if nothing is found.
*/ */
static void *mapping_get_entry(struct address_space *mapping, pgoff_t index) void *filemap_get_entry(struct address_space *mapping, pgoff_t index)
{ {
XA_STATE(xas, &mapping->i_pages, index); XA_STATE(xas, &mapping->i_pages, index);
struct folio *folio; struct folio *folio;
...@@ -1917,7 +1917,7 @@ struct folio *__filemap_get_folio(struct address_space *mapping, pgoff_t index, ...@@ -1917,7 +1917,7 @@ struct folio *__filemap_get_folio(struct address_space *mapping, pgoff_t index,
struct folio *folio; struct folio *folio;
repeat: repeat:
folio = mapping_get_entry(mapping, index); folio = filemap_get_entry(mapping, index);
if (xa_is_value(folio)) { if (xa_is_value(folio)) {
if (fgp_flags & FGP_ENTRY) if (fgp_flags & FGP_ENTRY)
return folio; return folio;
......
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