Re: [PATCH RFC] fs: erofs: support PG_mappedtodisk flag for folios with zero-filled

From: Gao Xiang
Date: Thu Oct 17 2024 - 04:18:22 EST




On 2024/10/17 16:09, Barry Song wrote:
On Thu, Oct 17, 2024 at 9:00 PM Gao Xiang <hsiangkao@xxxxxxxxxxxxxxxxx> wrote:



On 2024/10/17 15:58, Gao Xiang wrote:
Hi Barry,

On 2024/10/17 15:43, Barry Song wrote:
From: Barry Song <v-songbaohua@xxxxxxxx>

When a folio has never been zero-filled, mark it as mappedtodisk
to allow other software components to recognize and utilize the
flag.

Signed-off-by: Barry Song <v-songbaohua@xxxxxxxx>

Thanks for this!

It looks good to me as an improvement as long as PG_mappedtodisk
is long-term lived and useful to users.

Reviewed-by: Gao Xiang <hsiangkao@xxxxxxxxxxxxxxxxx>


thanks!

BTW, I wonder if iomap supports this since uncompressed EROFS
relies on iomap paths...

In the core layer, I only see fs/buffer.c's block_read_full_folio()
and fs/mpage.c's mpage_readahead() and mpage_readahead()
supporting this. I haven't found any code in iomap that sets the
flag.

I guess erofs doesn't call the above functions for non-compressed
files?

mpage are obsoleted interfaces (of course EROFS could use
them instead, see my backport to centos 7 [1]), and iomap
is used for recent unencoded I/O use cases.

It would be better to add support for iomap too, but I guess
PG_mappedtodisk has very few users in the upstream kernel,
so they might ask for further use cases tho ;-)

Thanks,
Gao Xiang

[1] https://github.com/erofs/kmod-erofs/blob/main/src/data.c#L249



Thanks,
Gao Xiang

Barry