On 22/01/2024 17:57, Darrick J. Wong wrote: > On Mon, Jan 22, 2024 at 12:17:51PM +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]). Adapt the blksz so that we create more than >> one block for the testcase. > > How does this fail, specifically? And, uh, what block sizes > 64k were > tested? > > --D > >> 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/ >> I tried the same test on a machine with 64k page size and block size, and I get the same error and this patch fixes it! Kernel version: 6.7.1 xfstest version: for-next PAGE_SIZE: 64k # Without this patch ubuntu@xfstest:/mnt/linux/xfstests$ getconf PAGE_SIZE 65536 ubuntu@xfstest:/mnt/linux/xfstests$ sudo ./check -s 64k xfs/161 SECTION -- 64k RECREATING -- xfs on /dev/sdb2 FSTYP -- xfs (non-debug) PLATFORM -- Linux/aarch64 xfstest 6.7.1-64k #8 SMP Thu Jan 25 13:38:41 UTC 2024 MKFS_OPTIONS -- -f -f -m reflink=1,rmapbt=1, -i sparse=1, -b size=64k, /dev/sdb3 MOUNT_OPTIONS -- /dev/sdb3 /mnt/scratch xfs/161 6s ... - output mismatch (see /mnt/linux/xfstests/results/xfstest/6.7.1-64k/64k/xfs/161.out.bad) --- tests/xfs/161.out 2024-01-25 15:36:48.869401419 +0000 +++ /mnt/linux/xfstests/results/xfstest/6.7.1-64k/64k/xfs/161.out.bad 2024-01-25 15:59:47.702340351 +0000 @@ -1,6 +1,15 @@ QA output created by 161 +Expected timer expiry (0) to be after now (1706198386). Running xfs_repair to upgrade filesystem. Adding large timestamp support to filesystem. FEATURES: BIGTIME:YES -grace2 expiry is in range -grace2 expiry after remount is in range ... (Run 'diff -u /mnt/linux/xfstests/tests/xfs/161.out /mnt/linux/xfstests/results/xfstest/6.7.1-64k/64k/xfs/161.out.bad' to see the entire diff) Ran: xfs/161 Failures: xfs/161 Failed 1 of 1 tests SECTION -- 64k ========================= Ran: xfs/161 Failures: xfs/161 Failed 1 of 1 tests # With this patch: ubuntu@xfstest:/mnt/linux/xfstests$ sudo ./check -s 64k xfs/161 SECTION -- 64k RECREATING -- xfs on /dev/sdb2 FSTYP -- xfs (non-debug) PLATFORM -- Linux/aarch64 xfstest 6.7.1-64k #8 SMP Thu Jan 25 13:38:41 UTC 2024 MKFS_OPTIONS -- -f -f -m reflink=1,rmapbt=1, -i sparse=1, -b size=64k, /dev/sdb3 MOUNT_OPTIONS -- /dev/sdb3 /mnt/scratch xfs/161 6s ... 6s Ran: xfs/161 Passed all 1 tests SECTION -- 64k ========================= Ran: xfs/161 Passed all 1 tests >> Signed-off-by: Pankaj Raghav <p.raghav@xxxxxxxxxxx> >> --- >> tests/xfs/161 | 9 +++++++-- >> 1 file changed, 7 insertions(+), 2 deletions(-) >> >> diff --git a/tests/xfs/161 b/tests/xfs/161 >> index 486fa6ca..f7b03f0e 100755 >> --- a/tests/xfs/161 >> +++ b/tests/xfs/161 >> @@ -38,9 +38,14 @@ _qmount_option "usrquota" >> _scratch_xfs_db -c 'version' -c 'sb 0' -c 'p' >> $seqres.full >> _scratch_mount >> $seqres.full >> >> +min_blksz=65536 >> +file_blksz=$(_get_file_block_size "$SCRATCH_MNT") >> +blksz=$(( 2 * $file_blksz)) >> + >> +blksz=$(( blksz > min_blksz ? blksz : min_blksz )) >> # Force the block counters for uid 1 and 2 above zero >> -_pwrite_byte 0x61 0 64k $SCRATCH_MNT/a >> $seqres.full >> -_pwrite_byte 0x61 0 64k $SCRATCH_MNT/b >> $seqres.full >> +_pwrite_byte 0x61 0 $blksz $SCRATCH_MNT/a >> $seqres.full >> +_pwrite_byte 0x61 0 $blksz $SCRATCH_MNT/b >> $seqres.full >> sync >> chown 1 $SCRATCH_MNT/a >> chown 2 $SCRATCH_MNT/b >> -- >> 2.43.0 >> >>