Re: [RFC PATCH v2 0/5] Add buffered write-through support to iomap & xfs
From: Pankaj Raghav (Samsung)
Date: Thu Apr 23 2026 - 08:29:18 EST
>
>
> * Testing Notes (UPDATED) *
>
> - I've added support for RWF_WRITETHROUGH to fsx and fsstress in
> xfstests and these patches survive fsx with integrity verification as
> well as fsstress parallel stressing.
> - -g quick with blocks size == page size and blocksize < pagesize shows
> no new regressions.
I am hitting a very strange error in generic/127. I deconstructed it in
to two commands that can reproduce the issue:
```
$ dd if=/dev/zero of=/media/test/fsx_lite_nommap bs=262144 count=1
$ /root/home/xfstests/ltp/fsx -l 262144 -o 65536 -S 191110531 -N 100000 -L -R -W /media/test/fsx_lite_nommap
mapped writes DISABLED
Seed set to 191110531
main: filesystem does not support exchange range, disabling!
main: atomic writes need O_DIRECT (-Z), disabling!
short read: 0x0 bytes instead of 0x6c7f
LOG DUMP (1 total operations):
1( 1 mod 256): READ 0x39381 thru 0x3ffff (0x6c7f bytes)
Log of operations saved to "/media/test/fsx_lite_nommap.fsxops"; replay with --replay-ops
fsx: save_buffer: .fsxgood file too short... will save 0x0 bytes instead of 0x40000
: Operation not supported
Correct content saved for comparison
(maybe hexdump "/media/test/fsx_lite_nommap" vs "/media/test/fsx_lite_nommap.fsxgood")
```
This is on a bs == ps (4k block size) xfs filesystem.
```
$ xfs_info /media/test/
meta-data=/dev/nvme1n1 isize=512 agcount=4, agsize=2097152 blks
= sectsz=4096 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1 bigtime=1 inobtcount=1 nrext64=0
data = bsize=4096 blocks=8388608, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=16384, version=2
= sectsz=4096 sunit=1 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
```
The same test passes if I pass `-G` to fsx parameters(disabling writethrough).
The error is coming when we do a read operation which feels very
strange. Could you run this in your setup and see if you can reproduce
them? I still do not know where the issue is coming from or it is
because of my test setup.
--
Pankaj