From: Amir Goldstein Date: Sun, 31 May 2020 11:01:56 +0000 (+0300) Subject: overlay: add unionmount tests with nested overlay X-Git-Tag: v2022.05.01~747 X-Git-Url: http://git.apps.os.sepia.ceph.com/?p=xfstests-dev.git;a=commitdiff_plain;h=41bd77b43a49784bf661460b3ba6d36d7ce0f19b overlay: add unionmount tests with nested overlay These tests use an overlay mount as lower layer for a nested overlay. That provides test coverage for a lower layer with null uuid and lower layer with real inode numbers that use the high xino bits. Signed-off-by: Amir Goldstein Reviewed-by: Eryu Guan Signed-off-by: Eryu Guan --- diff --git a/tests/overlay/110 b/tests/overlay/110 new file mode 100755 index 00000000..8d34f23e --- /dev/null +++ b/tests/overlay/110 @@ -0,0 +1,39 @@ +#! /bin/bash +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2020 CTERA Networks. All Rights Reserved. +# +# FS QA Test 110 +# +# Run unionmount testsuite on a nested overlay filesystem +# with single lower overlay layer, whose layers are +# on same fs +# +seq=`basename $0` +seqres=$RESULT_DIR/$seq +echo "QA output created by $seq" + +here=`pwd` +tmp=/tmp/$$ +status=1 # failure is the default! +trap "_unionmount_testsuite_cleanup; exit \$status" 0 1 2 3 15 + +# get standard environment, filters and checks +. ./common/rc +. ./common/filter + +# remove previous $seqres.full before test +rm -f $seqres.full + +# real QA test starts here + +_supported_fs overlay +_supported_os Linux +_require_scratch +_require_unionmount_testsuite + +_unionmount_testsuite_run --ovov --samefs --verify + +# success, all done +echo "Silence is golden" +status=0 +exit diff --git a/tests/overlay/110.out b/tests/overlay/110.out new file mode 100644 index 00000000..4284b8b0 --- /dev/null +++ b/tests/overlay/110.out @@ -0,0 +1,2 @@ +QA output created by 110 +Silence is golden diff --git a/tests/overlay/111 b/tests/overlay/111 new file mode 100755 index 00000000..b99f94da --- /dev/null +++ b/tests/overlay/111 @@ -0,0 +1,40 @@ +#! /bin/bash +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2020 CTERA Networks. All Rights Reserved. +# +# FS QA Test 111 +# +# Run unionmount testsuite on a nested overlay filesystem +# with single lower overlay layer, whose layers are +# on same fs +# with xino enabled (xino overflow not expected) +# +seq=`basename $0` +seqres=$RESULT_DIR/$seq +echo "QA output created by $seq" + +here=`pwd` +tmp=/tmp/$$ +status=1 # failure is the default! +trap "_unionmount_testsuite_cleanup; exit \$status" 0 1 2 3 15 + +# get standard environment, filters and checks +. ./common/rc +. ./common/filter + +# remove previous $seqres.full before test +rm -f $seqres.full + +# real QA test starts here + +_supported_fs overlay +_supported_os Linux +_require_scratch +_require_unionmount_testsuite + +_unionmount_testsuite_run --ovov --samefs --xino --verify + +# success, all done +echo "Silence is golden" +status=0 +exit diff --git a/tests/overlay/111.out b/tests/overlay/111.out new file mode 100644 index 00000000..fedcd590 --- /dev/null +++ b/tests/overlay/111.out @@ -0,0 +1,2 @@ +QA output created by 111 +Silence is golden diff --git a/tests/overlay/112 b/tests/overlay/112 new file mode 100755 index 00000000..5e8f980b --- /dev/null +++ b/tests/overlay/112 @@ -0,0 +1,40 @@ +#! /bin/bash +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2020 CTERA Networks. All Rights Reserved. +# +# FS QA Test 112 +# +# Run unionmount testsuite on a nested overlay filesystem +# with single lower overlay layer, whose layers are +# not on same fs +# +seq=`basename $0` +seqres=$RESULT_DIR/$seq +echo "QA output created by $seq" + +here=`pwd` +tmp=/tmp/$$ +status=1 # failure is the default! +trap "_unionmount_testsuite_cleanup; exit \$status" 0 1 2 3 15 + +# get standard environment, filters and checks +. ./common/rc +. ./common/filter + +# remove previous $seqres.full before test +rm -f $seqres.full + +# real QA test starts here + +_supported_fs overlay +_supported_os Linux +_require_test +_require_scratch +_require_unionmount_testsuite + +_unionmount_testsuite_run --ovov --verify + +# success, all done +echo "Silence is golden" +status=0 +exit diff --git a/tests/overlay/112.out b/tests/overlay/112.out new file mode 100644 index 00000000..0f75273b --- /dev/null +++ b/tests/overlay/112.out @@ -0,0 +1,2 @@ +QA output created by 112 +Silence is golden diff --git a/tests/overlay/113 b/tests/overlay/113 new file mode 100755 index 00000000..b865f364 --- /dev/null +++ b/tests/overlay/113 @@ -0,0 +1,41 @@ +#! /bin/bash +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2020 CTERA Networks. All Rights Reserved. +# +# FS QA Test 113 +# +# Run unionmount testsuite on a nested overlay filesystem +# with single lower overlay layer, whose layers are +# not on same fs +# with xino enabled (expected xino overflows) +# +seq=`basename $0` +seqres=$RESULT_DIR/$seq +echo "QA output created by $seq" + +here=`pwd` +tmp=/tmp/$$ +status=1 # failure is the default! +trap "_unionmount_testsuite_cleanup; exit \$status" 0 1 2 3 15 + +# get standard environment, filters and checks +. ./common/rc +. ./common/filter + +# remove previous $seqres.full before test +rm -f $seqres.full + +# real QA test starts here + +_supported_fs overlay +_supported_os Linux +_require_test +_require_scratch +_require_unionmount_testsuite + +_unionmount_testsuite_run --ovov --xino --verify + +# success, all done +echo "Silence is golden" +status=0 +exit diff --git a/tests/overlay/113.out b/tests/overlay/113.out new file mode 100644 index 00000000..5cdea7de --- /dev/null +++ b/tests/overlay/113.out @@ -0,0 +1,2 @@ +QA output created by 113 +Silence is golden diff --git a/tests/overlay/114 b/tests/overlay/114 new file mode 100755 index 00000000..fc783f57 --- /dev/null +++ b/tests/overlay/114 @@ -0,0 +1,39 @@ +#! /bin/bash +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2020 CTERA Networks. All Rights Reserved. +# +# FS QA Test 114 +# +# Run unionmount testsuite on a nested overlay filesystem +# with multi lower layers, lowermost is an overlay layer, +# whose layers are on same fs +# +seq=`basename $0` +seqres=$RESULT_DIR/$seq +echo "QA output created by $seq" + +here=`pwd` +tmp=/tmp/$$ +status=1 # failure is the default! +trap "_unionmount_testsuite_cleanup; exit \$status" 0 1 2 3 15 + +# get standard environment, filters and checks +. ./common/rc +. ./common/filter + +# remove previous $seqres.full before test +rm -f $seqres.full + +# real QA test starts here + +_supported_fs overlay +_supported_os Linux +_require_scratch +_require_unionmount_testsuite + +_unionmount_testsuite_run --ovov=10 --samefs --verify + +# success, all done +echo "Silence is golden" +status=0 +exit diff --git a/tests/overlay/114.out b/tests/overlay/114.out new file mode 100644 index 00000000..a2aa4a21 --- /dev/null +++ b/tests/overlay/114.out @@ -0,0 +1,2 @@ +QA output created by 114 +Silence is golden diff --git a/tests/overlay/115 b/tests/overlay/115 new file mode 100755 index 00000000..b82128d6 --- /dev/null +++ b/tests/overlay/115 @@ -0,0 +1,40 @@ +#! /bin/bash +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2020 CTERA Networks. All Rights Reserved. +# +# FS QA Test 115 +# +# Run unionmount testsuite on a nested overlay filesystem +# with multi lower layers, lowermost is an overlay layer, +# whose layers are on same fs +# with xino enabled (xino overflow not expected) +# +seq=`basename $0` +seqres=$RESULT_DIR/$seq +echo "QA output created by $seq" + +here=`pwd` +tmp=/tmp/$$ +status=1 # failure is the default! +trap "_unionmount_testsuite_cleanup; exit \$status" 0 1 2 3 15 + +# get standard environment, filters and checks +. ./common/rc +. ./common/filter + +# remove previous $seqres.full before test +rm -f $seqres.full + +# real QA test starts here + +_supported_fs overlay +_supported_os Linux +_require_scratch +_require_unionmount_testsuite + +_unionmount_testsuite_run --ovov=10 --samefs --xino --verify + +# success, all done +echo "Silence is golden" +status=0 +exit diff --git a/tests/overlay/115.out b/tests/overlay/115.out new file mode 100644 index 00000000..d9dd136f --- /dev/null +++ b/tests/overlay/115.out @@ -0,0 +1,2 @@ +QA output created by 115 +Silence is golden diff --git a/tests/overlay/116 b/tests/overlay/116 new file mode 100755 index 00000000..1575bece --- /dev/null +++ b/tests/overlay/116 @@ -0,0 +1,40 @@ +#! /bin/bash +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2020 CTERA Networks. All Rights Reserved. +# +# FS QA Test 116 +# +# Run unionmount testsuite on a nested overlay filesystem +# with multi lower layers, lowermost is an overlay layer, +# whose layers are not on same fs +# +seq=`basename $0` +seqres=$RESULT_DIR/$seq +echo "QA output created by $seq" + +here=`pwd` +tmp=/tmp/$$ +status=1 # failure is the default! +trap "_unionmount_testsuite_cleanup; exit \$status" 0 1 2 3 15 + +# get standard environment, filters and checks +. ./common/rc +. ./common/filter + +# remove previous $seqres.full before test +rm -f $seqres.full + +# real QA test starts here + +_supported_fs overlay +_supported_os Linux +_require_test +_require_scratch +_require_unionmount_testsuite + +_unionmount_testsuite_run --ovov=10 --verify + +# success, all done +echo "Silence is golden" +status=0 +exit diff --git a/tests/overlay/116.out b/tests/overlay/116.out new file mode 100644 index 00000000..a2013bc3 --- /dev/null +++ b/tests/overlay/116.out @@ -0,0 +1,2 @@ +QA output created by 116 +Silence is golden diff --git a/tests/overlay/117 b/tests/overlay/117 new file mode 100755 index 00000000..819edc9b --- /dev/null +++ b/tests/overlay/117 @@ -0,0 +1,41 @@ +#! /bin/bash +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2020 CTERA Networks. All Rights Reserved. +# +# FS QA Test 117 +# +# Run unionmount testsuite on a nested overlay filesystem +# with multi lower layers, lowermost is an overlay layer, +# whose layers are not on same fs +# with xino enabled (expected xino overflows) +# +seq=`basename $0` +seqres=$RESULT_DIR/$seq +echo "QA output created by $seq" + +here=`pwd` +tmp=/tmp/$$ +status=1 # failure is the default! +trap "_unionmount_testsuite_cleanup; exit \$status" 0 1 2 3 15 + +# get standard environment, filters and checks +. ./common/rc +. ./common/filter + +# remove previous $seqres.full before test +rm -f $seqres.full + +# real QA test starts here + +_supported_fs overlay +_supported_os Linux +_require_test +_require_scratch +_require_unionmount_testsuite + +_unionmount_testsuite_run --ovov=10 --xino --verify + +# success, all done +echo "Silence is golden" +status=0 +exit diff --git a/tests/overlay/117.out b/tests/overlay/117.out new file mode 100644 index 00000000..986c5152 --- /dev/null +++ b/tests/overlay/117.out @@ -0,0 +1,2 @@ +QA output created by 117 +Silence is golden diff --git a/tests/overlay/group b/tests/overlay/group index 079ff0af..047ea046 100644 --- a/tests/overlay/group +++ b/tests/overlay/group @@ -87,3 +87,11 @@ 107 auto union rotate nonsamefs xino 108 auto union rotate nonsamefs 109 auto union rotate nonsamefs xino +110 auto quick union nested samefs +111 auto quick union nested samefs xino +112 auto quick union nested nonsamefs +113 auto quick union nested nonsamefs xino +114 auto union rotate nested samefs +115 auto union rotate nested samefs xino +116 auto union rotate nested nonsamefs +117 auto union rotate nested nonsamefs xino