2024-02-09 01:31:20

by Daniel Dawson

[permalink] [raw]
Subject: Re: [RFC PATCH] ext4: destroy inline data immediately when converting to extent

On 2/8/24 8:58 AM, Luis Henriques wrote:
> The 'lsattr' command shows that the file has data stored inline. However,
> that is not correct because writing 192 bytes (3 * 64) has forced the data
> to be un-inlined. Doing a 'sync' before running the 'lsattr' fixes it.
I know I'm the one who initially reported this, but I suppose there is
an argument to be made that this in itself is not a bug, as Ted seemed
to say before. What is a problem, however, is lseek() giving ENOENT when
the kernel finds file data where it expects to find a block/extent map,
and I can confirm this patch solves that (tested against 6.8.0-rc3). Not
sure if it's the best thing to do so by forcing immediate allocation,
but I feel it's still an improvement.


--
PGP fingerprint: 5BBD5080FEB0EF7F142F8173D572B791F7B4422A