Re: [PATCH 3/5] btrfs-progs: mkfs-tests: Skip 010-minimal-size if we can't mount with 4k sector size

David Sterba
2019-07-22T17:14:43Z

On Fri, Jul 05, 2019 at 03:26:49PM +0800, Qu Wenruo wrote:
> [BUG]
> Test case 010-minimal-size fails on aarch64 with 64K page size:
> [TEST/mkfs] 010-minimal-size
> failed: /home/adam/btrfs-progs/mkfs.btrfs -f -n 4k -m single -d single /home/adam/btrfs-progs/tests//test.img
> test failed for case 010-minimal-size
> make: *** [Makefile:361: test-mkfs] Error 1
>
> [CAUSE]
> Mkfs.btrfs defaults to page size as sector size. However this test uses
> 4k, 16k, 32K and 64K as node size. 4K node size will conflict with 64K
> sector size.
>
> [FIX]
> - Specify sector size 4K manually
> So at least no conflict at mkfs time.
>
> - Skip the test case if kernel can't mount with 4k sector size
> So once we add such support, the test can be automatically re-enabled.
>
> Signed-off-by: Qu Wenruo <wqu@suse.com>
> ---
> tests/mkfs-tests/010-minimal-size/test.sh | 41 ++++++++++++-----------
> 1 file changed, 21 insertions(+), 20 deletions(-)
>
> diff --git a/tests/mkfs-tests/010-minimal-size/test.sh b/tests/mkfs-tests/010-minimal-size/test.sh
> index 8480e4c5ae23..b49fad63e519 100755
> --- a/tests/mkfs-tests/010-minimal-size/test.sh
> +++ b/tests/mkfs-tests/010-minimal-size/test.sh
> @@ -5,6 +5,7 @@ source "$TEST_TOP/common"
>
> check_prereq mkfs.btrfs
> check_prereq btrfs
> +check_prereq_mount_with_sectorsize 4096

How about

if `getconf PAGE_SIZE` != 4096; then
_not_run "requires 4k pages"
fi

and be done?

I don't like hardcoding the sectorsize, the effect should be the same
when the test is skipped at the beginning.

When we have the subpage-size functionality, there will be an incompat
bit exported through sysfs that we can check. Until then the cude
pagesize check should do. It is going to be a big change so we'll have
to revisit all tests anyway.