On Tue, Mar 02, 2021 at 11:20:06AM +0800, Su Yue wrote: > On Tue, Mar 2, 2021 at 2:10 AM Theodore Ts'o <tytso@xxxxxxx> wrote: > > > > On Mon, Mar 01, 2021 at 09:14:40AM -0800, Darrick J. Wong wrote: > > > On Wed, Feb 10, 2021 at 03:58:18PM -0500, Theodore Ts'o wrote: > > > > This test verifies that the an unwritten extent is properly marked as > > > > written after writing into it. > > > > > > > > There was a hard-to-hit bug which would occasionally trigger with ext4 > > > > for which this test was a reproducer. This has been fixed after > > > > moving ext4 to use iomap for Direct I/O's, although as of this > > > > writing, there are still some occasional failures on ext4 when block > > > > size < page size. > > > > > > Are there still failures? > > > > Yes. It's on Ritesh's todo list, but I don't believe it's bubbled up > > to the top of his list. > > > > The failure rate is substantially less than what I had been seeing > > with 4k block sizes before the move to iomap, and in practice it was > > hard to hit in production. We noticed on Google data center workloads > > (but even then it was impossible to reliably repro before I found this > > fio recipe); as far as I know no one else had reported seeing this > > problem. > > > > So in summary, as of this writing, on 1k and 2k block sizes, this test > > is still occasionally failing for ext4 (but not xfs, where it reliably > > passes). On 4k block sizes on x86 with ext4, this test is still > > failing in on 5.4 and earler kernels, unless someone has managed to > > backport DIO iomap support for ext4 into an enterprise linux kernel. > > > But both xfs and ext4 100% fail in v5.12-rc1 with 4k block size and 4k page > size on x86_64. The test itself should be okay because btrfs passes. > xfstests-dev version is 8cbc48b460b6 applied this patch. logs are attached. Is this generic/623? That test is new, and I've noticed it'll fail if you have coredumps enabled because the test tries to induce a SIGBUS. --D > > # fio --version > fio-3.25 > > #cat local.config > export TEST_DEV=/dev/mapper/test-1 > export TEST_DIR=/mnt/test > export SCRATCH_DEV_POOL="/dev/mapper/test-[2-6]" > export SCRATCH_MNT=/mnt/scratch > export LOGWRITES_DEV="/dev/mapper/test-7" > export KEEP_DMESG=yes > > > - Ted