Re: [f2fs-dev] [PATCH RFC 06/14] fs/f2fs: stop using PG_private
Usama Arif <[email protected]> Mon, 3 Aug 2026 08:48:16 -0700
| Newsgroups | net.sourceforge.lists.linux-f2fs-devel,org.kernel.vger.linux-kernel,org.kvack.linux-mm |
|---|---|
| Message-ID | <[email protected]> |
On Fri, 31 Jul 2026 22:13:29 -0400 Zi Yan <[email protected]> wrote: > f2fs sets its PAGE_PRIVATE_* flags in page->private and checking > page->private != NULL is equivalent to checking PG_private. Change > PagePrivate() to page_private(). Meanwhile, in set_page_private_##name(), > page->private is first set to 0/NULL before an PAGE_PRIVATE_* flag is set, > but it can cause confusion when PG_private is removed and > page->private != NULL is used instead. Change it to initialize > page->private to PAGE_PRIVATE_NOT_POINTER instead and retain the original > semantics. > > It prepares for a future commit that removes PG_private. > > No funtional change intended. > > Assisted-by: Claude:claude-opus-4-8 > Assisted-by: Codex:gpt-5 > Signed-off-by: Zi Yan <[email protected]> > To: Jaegeuk Kim <[email protected]> > To: Chao Yu <[email protected]> > Cc: [email protected] > Cc: [email protected] > --- > fs/f2fs/f2fs.h | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) Acked-by: Usama Arif <[email protected]> > > diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h > index 8f3e632f315cc..edf01eb4b3b30 100644 > --- a/fs/f2fs/f2fs.h > +++ b/fs/f2fs/f2fs.h > @@ -2643,7 +2643,7 @@ static inline bool folio_test_f2fs_##name(const struct folio *folio) \ > } \ > static inline bool page_private_##name(struct page *page) \ > { \ > - return PagePrivate(page) && \ > + return page_private(page) && \ > test_bit(PAGE_PRIVATE_NOT_POINTER, &page_private(page)) && \ > test_bit(PAGE_PRIVATE_##flagname, &page_private(page)); \ > } > @@ -2662,9 +2662,9 @@ static inline void folio_set_f2fs_##name(struct folio *folio) \ > } \ > static inline void set_page_private_##name(struct page *page) \ > { \ > - if (!PagePrivate(page)) \ > - attach_page_private(page, (void *)0); \ > - set_bit(PAGE_PRIVATE_NOT_POINTER, &page_private(page)); \ > + if (!page_private(page)) \ > + attach_page_private(page, \ > + (void *)BIT(PAGE_PRIVATE_NOT_POINTER)); \ > set_bit(PAGE_PRIVATE_##flagname, &page_private(page)); \ > } > > > -- > 2.53.0 > > _______________________________________________ Linux-f2fs-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel