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 <w...@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.

Reply via email to