Re: [RFC PATCH 3/3] mm: Split page_has_private() in two to better handle PG_private_2

From: Matthew Wilcox
Date: Fri Apr 09 2021 - 07:26:57 EST


On Fri, Apr 09, 2021 at 11:59:29AM +0100, David Howells wrote:
> diff --git a/fs/iomap/buffered-io.c b/fs/iomap/buffered-io.c
> index 414769a6ad11..9c89db033548 100644
> --- a/fs/iomap/buffered-io.c
> +++ b/fs/iomap/buffered-io.c
> @@ -41,7 +41,7 @@ static inline struct iomap_page *to_iomap_page(struct page *page)
> */
> VM_BUG_ON_PGFLAGS(PageTail(page), page);
>
> - if (page_has_private(page))
> + if (page_needs_cleanup(page))

That should be PagePrivate(page)

> return (struct iomap_page *)page_private(page);
> return NULL;
> }
> @@ -163,7 +163,7 @@ iomap_set_range_uptodate(struct page *page, unsigned off, unsigned len)
> if (PageError(page))
> return;
>
> - if (page_has_private(page))
> + if (PagePrivate(page))
> iomap_iop_set_range_uptodate(page, off, len);
> else
> SetPageUptodate(page);
> @@ -502,7 +502,7 @@ iomap_migrate_page(struct address_space *mapping, struct page *newpage,
> if (ret != MIGRATEPAGE_SUCCESS)
> return ret;
>
> - if (page_has_private(page))
> + if (PagePrivate(page))
> attach_page_private(newpage, detach_page_private(page));
>
> if (mode != MIGRATE_SYNC_NO_COPY)