On Fri, 7 Jan 2022, Matthew Wilcox wrote: > On Sun, Jan 02, 2022 at 05:34:05PM -0800, Hugh Dickins wrote: > > xfstests generic 098 214 263 286 412 used to pass on huge tmpfs (well, > > three of those _require_odirect, enabled by a shmem_direct_IO() stub), > > but still fail even with the partial_end fix. > > > > generic/098 output mismatch shows actual data loss: > > --- tests/generic/098.out > > +++ /home/hughd/xfstests/results//generic/098.out.bad > > @@ -4,9 +4,7 @@ > > wrote 32768/32768 bytes at offset 262144 > > XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) > > File content after remount: > > -0000000 aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa > > -* > > -0400000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 > > +0000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 > > ... > > generic/098 is passing for me ;-( I'm using 'always' for THPs. > I'll have to try harder. Regardless, I think your fix is good ... Worrying that the test behaves differently. Your 'always': you have '-o huge=always' in the exported TMPFS_MOUNT_OPTIONS? That should be enough, but I admit to belt and braces by also echo force > /sys/kernel/mm/transparent_hugepage/shmem_enabled Hugh I also back up with