Re: [PATCH v1] fs/dax: fix folio splitting issue by resetting old folio order + _nr_pages

From: Matthew Wilcox
Date: Thu Apr 10 2025 - 16:23:33 EST


On Thu, Apr 10, 2025 at 01:15:07PM -0700, Dan Williams wrote:
> For consistency and clarity what about this incremental change, to make
> the __split_folio_to_order() path reuse folio_reset_order(), and use
> typical bitfield helpers for manipulating _flags_1?

I dislike this intensely. It obfuscates rather than providing clarity.

> static inline unsigned int folio_large_order(const struct folio *folio)
> {
> - return folio->_flags_1 & 0xff;
> + return FIELD_GET(FOLIO_ORDER_MASK, folio->_flags_1);
> }
>
> #ifdef NR_PAGES_IN_LARGE_FOLIO