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