[PATCH 5/5] mm/swap: simplify the code of find_get_incore_page()

From: Miaohe Lin
Date: Tue May 18 2021 - 09:54:07 EST


pagecache_get_page() can do find_subpage() for us if we do not specify
FGP_HEAD. No functional change intended.

Signed-off-by: Miaohe Lin <linmiaohe@xxxxxxxxxx>
---
mm/swap_state.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/mm/swap_state.c b/mm/swap_state.c
index a55b7b74b0e6..bc92e4893fec 100644
--- a/mm/swap_state.c
+++ b/mm/swap_state.c
@@ -394,13 +394,11 @@ struct page *find_get_incore_page(struct address_space *mapping, pgoff_t index)
{
swp_entry_t swp;
struct swap_info_struct *si;
- struct page *page = pagecache_get_page(mapping, index,
- FGP_ENTRY | FGP_HEAD, 0);
+ struct page *page = pagecache_get_page(mapping, index, FGP_ENTRY, 0);

- if (!page)
+ if (!page || !xa_is_value(page))
return page;
- if (!xa_is_value(page))
- return find_subpage(page, index);
+
if (!shmem_mapping(mapping))
return NULL;

--
2.23.0