Re: [RFC PATCH 0/5] Rust block device driver API and null block driver

From: Matthew Wilcox
Date: Sat Mar 16 2024 - 22:51:22 EST


On Wed, Mar 13, 2024 at 12:05:07PM +0100, Andreas Hindborg wrote:
> - Adopted the folio abstraction where applicable

I don't think this was the correct move. The memory you're managing
with folios is only used for storing the data being stored in the blkdev.
It's not mapped to userspace, it doesn't make use of the flags (locked,
uptodate, writeback, etc), it doesn't need an LRU list, a mapping,
an index, a refcount or memcg.

I think you should use pages instead of folios to keep a handle on
this memory. Apologies for the confusion; we're in the middle of a
years-long transition from the overly complex and overused struct page
to splitting it into different data types for different purposes.

More detail on this here, if you're interested:
https://kernelnewbies.org/MatthewWilcox/Memdescs