On Thu, Mar 23, 2023 at 07:51:09AM -0700, Darrick J. Wong wrote: > Yes. Let's leave bufferheads in the legacy doo-doo-dooooo basement > instead of wasting more time on them. Ideally we'd someday run all the > filesystems through: > > bufferheads -> iomap with bufferheads -> iomap with folios -> iomap with > large folios -> retire to somewhere cheaper than Hawaii For a lot of the legacy stuff (and with that I don't mean ext4) we'd really need volunteers to do any work other than typo fixing and cosmetic cleanups. I suspect just dropping many of them is the only thing we can do long term. But even if we do the above for the data path for all file systems remaining in tree, we still have buffer_heads for metadata. And I think buffered_heads really are more or less the right abstraction there anyway. And for these existing file systems we also do not care about using large folios for metadata caching anyway. The only nasty part is that these buffer_heads use the same mapping as all block device access, so we'll need to find a way to use large folios for the block device mapping for the LBA size > page size case, while supporting buffer heads for those file systems. Nothing unsolvable, but a bit tricky.