[PATCH] generic/347: Fix sporadic test failures
Jan Kara <[email protected]> Thu, 30 Jul 2026 17:18:17 +0200
| Newsgroups | org.kernel.vger.fstests |
|---|---|
| Message-ID | <[email protected]> |
generic/347 was occasionally failing on ext4 in our QA due to ext4 aborting its journal when the filesystem on thinp device was overfilled. I have tracked the problem down to journal checkpointing failing to write a metadata block to its final location due to ENOSPC failure from the thinp device. Modify the test to first preallocate blocks for the files and remount the filesystem which practically makes sure all involved metadata blocks were written and so their further modifications will not fail. Signed-off-by: Jan Kara <[email protected]> --- tests/generic/347 | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/tests/generic/347 b/tests/generic/347 index 06df0cf9eddc..56538c160392 100755 --- a/tests/generic/347 +++ b/tests/generic/347 @@ -38,7 +38,17 @@ _setup_thin() _workout() { - # Overfill it by a bit + # Preallocate space to avoid failure for metadata writeback + for I in `seq 1 500`; do + $XFS_IO_PROG -f -c "falloc 0 1M" $SCRATCH_MNT/file$I &>/dev/null + done + + # Unmount and check the device to make sure all metadata is written + _dmthin_check_fs + _dmthin_mount + + # Write the data blocks to force thinp space allocation. + # Overfill it by a bit. for I in `seq 1 500`; do $XFS_IO_PROG -f -c "pwrite -W 0 1M" $SCRATCH_MNT/file$I &>/dev/null done -- 2.51.0