On 22/01/2024 17:53, Darrick J. Wong wrote: > On Mon, Jan 22, 2024 at 12:17:50PM +0100, Pankaj Raghav (Samsung) wrote: >> From: Pankaj Raghav <p.raghav@xxxxxxxxxxx> >> >> This test fails for >= 64k filesystem block size on a 4k PAGE_SIZE >> system(see LBS efforts[1]). Scale the `blksz` based on the filesystem > > Fails how, specifically? I basically get this in 558.out.bad when I set filesystem block size to be 64k: QA output created by 558 Expected to hear about writeback iomap invalidations? Silence is golden But I do see that iomap invalidations are happening for 16k and 32k, which makes it pass the test for those block sizes. My suspicion was that we don't see any invalidations because of the blksz fixed at 64k in the test, which will contain one FSB in the case of 64k block size. Let me know if I am missing something. > > --D > >> block size instead of fixing it as 64k so that we do get some iomap >> invalidations while doing concurrent writes. >> >> Cap the blksz to be at least 64k to retain the same behaviour as before >> for smaller filesystem blocksizes. >> >> [1] LBS effort: https://lore.kernel.org/lkml/20230915183848.1018717-1-kernel@xxxxxxxxxxxxxxxx/ >> >> Signed-off-by: Pankaj Raghav <p.raghav@xxxxxxxxxxx> >> --- >> tests/xfs/558 | 7 ++++++- >> 1 file changed, 6 insertions(+), 1 deletion(-) >> >> diff --git a/tests/xfs/558 b/tests/xfs/558 >> index 9e9b3be8..270f458c 100755 >> --- a/tests/xfs/558 >> +++ b/tests/xfs/558 >> @@ -127,7 +127,12 @@ _scratch_mount >> $seqres.full >> $XFS_IO_PROG -c 'chattr -x' $SCRATCH_MNT &> $seqres.full >> _require_pagecache_access $SCRATCH_MNT >> >> -blksz=65536 >> +min_blksz=65536 >> +file_blksz=$(_get_file_block_size "$SCRATCH_MNT") >> +blksz=$(( 8 * $file_blksz )) >> + >> +blksz=$(( blksz > min_blksz ? blksz : min_blksz )) >> + >> _require_congruent_file_oplen $SCRATCH_MNT $blksz >> >> # Make sure we have sufficient extent size to create speculative CoW >> -- >> 2.43.0 >>