On Thu, Apr 01, 2021 at 12:26:56PM +0100, Matthew Wilcox wrote: > On Thu, Apr 01, 2021 at 08:05:37AM +0100, Christoph Hellwig wrote: > > On Wed, Mar 31, 2021 at 07:47:01PM +0100, Matthew Wilcox (Oracle) wrote: > > > - Mirror members of struct page (for pagecache / anon) into struct folio, > > > so (eg) you can use folio->mapping instead of folio->page.mapping > > > > Eww, why? > > So that eventually we can rename page->mapping to page->_mapping and > prevent the bugs from people doing page->mapping on a tail page. eg > https://lore.kernel.org/linux-mm/alpine.LSU.2.11.2103102214170.7159@eggly.anvils/ I'm not sure I like this. This whole concept of structures that do need the same layout is very problematic, even with the safe guards you've added. So if it was up to me I'd prefer the folio as a simple container as it was in the previous revisions. At some point members should move from the page to the folio, but I'd rather do that over a shorter period an in targeted series. We need the basic to go in first.