On Sun, Aug 01, 2021 at 08:53:36PM +0800, Eryu Guan wrote: > > So the underlying disk is 1TB in size, and we ended up using this 1T > > filesystem when _scratch_mkfs_sized failed? > > > > But we have done _try_wipe_scratch_devs before each test to make sure we > > don't use previous scratch dev accidently (just like this case), and the > > subsesquent _scratch_mount will fail and fail the whole test. So it's > > not clear to me what caused the failure you hit. The call to _try_wipe_scratch_devs was added in 2019. My commit to add: || _notrun "mkfs.${FSTYP} failed" dates from 2017. So the reason I was seeing the problem was because it was before we started running wipefs between tests. That being said, I've checked a recent test run, and the _notrun hasn't triggered recently. Looking at the git history, it looks like a large number of tests had their arguments to _scratch_mkfs_sized adjusted upwards to avoid failures when running with 64k block sizes on powerpc. Going back to generic/204, I see why Josef ran into issues, however. even though we are running wipefs before each test. In the case of generic/204, it runs _scratch_mkfs to determine the blocksize, and then it runs _scratch_mkfs_sized --- and if it fails, the file system is left at the full size of the scratch file system, and then generic/204 takes a vey long time. So even if we can rely on wipefs causing the tests to fail, maybe we should just add a check for mkfs failure to _scratch_mkfs_sized? I think that's a better fix than Josef's proposed patch to generic/204. One benefit of adding the check to _scratch_mkfs_sized is we can supply a clearer explanation of the failure since the failure would be "mkfs failed" as opposed to "mount: /vdc: wrong fs type, bad option, bad superblock on /dev/vdc, missing codepage or helper program, or other error." It might also make sense to adjust the size passed to _scratch_mkfs_sized in generic/204 to be a something slightly larger, since otherwise it's pretty much guaranteed that generic/204 will start failing on PowerPC when testing with a 64k block size. Cheers, - Ted