OSDN Git Service

mm: remove FGP_ENTRY
authorChristoph Hellwig <hch@lst.de>
Tue, 7 Mar 2023 14:34:09 +0000 (15:34 +0100)
committerAndrew Morton <akpm@linux-foundation.org>
Thu, 6 Apr 2023 02:42:42 +0000 (19:42 -0700)
FGP_ENTRY is unused now, so remove it.

Link: https://lkml.kernel.org/r/20230307143410.28031-7-hch@lst.de
Signed-off-by: Christoph Hellwig <hch@lst.de>
Cc: Andreas Gruenbacher <agruenba@redhat.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
Cc: Ryusuke Konishi <konishi.ryusuke@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
include/linux/pagemap.h
mm/filemap.c
mm/folio-compat.c

index bcfd798..306a0f6 100644 (file)
@@ -504,8 +504,7 @@ pgoff_t page_cache_prev_miss(struct address_space *mapping,
 #define FGP_NOFS               0x00000010
 #define FGP_NOWAIT             0x00000020
 #define FGP_FOR_MMAP           0x00000040
-#define FGP_ENTRY              0x00000080
-#define FGP_STABLE             0x00000100
+#define FGP_STABLE             0x00000080
 
 void *filemap_get_entry(struct address_space *mapping, pgoff_t index);
 struct folio *__filemap_get_folio(struct address_space *mapping, pgoff_t index,
index a674108..ac161b5 100644 (file)
@@ -1891,8 +1891,6 @@ out:
  *
  * * %FGP_ACCESSED - The folio will be marked accessed.
  * * %FGP_LOCK - The folio is returned locked.
- * * %FGP_ENTRY - If there is a shadow / swap / DAX entry, return it
- *   instead of allocating a new folio to replace it.
  * * %FGP_CREAT - If no page is present then a new page is allocated using
  *   @gfp and added to the page cache and the VM's LRU list.
  *   The page is returned locked and with an increased refcount.
@@ -1918,11 +1916,8 @@ struct folio *__filemap_get_folio(struct address_space *mapping, pgoff_t index,
 
 repeat:
        folio = filemap_get_entry(mapping, index);
-       if (xa_is_value(folio)) {
-               if (fgp_flags & FGP_ENTRY)
-                       return folio;
+       if (xa_is_value(folio))
                folio = NULL;
-       }
        if (!folio)
                goto no_page;
 
index cabcd1d..1754daa 100644 (file)
@@ -97,8 +97,8 @@ struct page *pagecache_get_page(struct address_space *mapping, pgoff_t index,
        struct folio *folio;
 
        folio = __filemap_get_folio(mapping, index, fgp_flags, gfp);
-       if (!folio || xa_is_value(folio))
-               return &folio->page;
+       if (!folio)
+               return NULL;
        return folio_file_page(folio, index);
 }
 EXPORT_SYMBOL(pagecache_get_page);