new file mode 100755
@@ -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
new file mode 100644
@@ -0,0 +1,2 @@
+QA output created by 110
+Silence is golden
new file mode 100755
@@ -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
new file mode 100644
@@ -0,0 +1,2 @@
+QA output created by 111
+Silence is golden
new file mode 100755
@@ -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
new file mode 100644
@@ -0,0 +1,2 @@
+QA output created by 112
+Silence is golden
new file mode 100755
@@ -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
new file mode 100644
@@ -0,0 +1,2 @@
+QA output created by 113
+Silence is golden
new file mode 100755
@@ -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
new file mode 100644
@@ -0,0 +1,2 @@
+QA output created by 114
+Silence is golden
new file mode 100755
@@ -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
new file mode 100644
@@ -0,0 +1,2 @@
+QA output created by 115
+Silence is golden
new file mode 100755
@@ -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
new file mode 100644
@@ -0,0 +1,2 @@
+QA output created by 116
+Silence is golden
new file mode 100755
@@ -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
new file mode 100644
@@ -0,0 +1,2 @@
+QA output created by 117
+Silence is golden
@@ -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
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 <amir73il@gmail.com> --- tests/overlay/110 | 39 +++++++++++++++++++++++++++++++++++++++ tests/overlay/110.out | 2 ++ tests/overlay/111 | 40 ++++++++++++++++++++++++++++++++++++++++ tests/overlay/111.out | 2 ++ tests/overlay/112 | 40 ++++++++++++++++++++++++++++++++++++++++ tests/overlay/112.out | 2 ++ tests/overlay/113 | 41 +++++++++++++++++++++++++++++++++++++++++ tests/overlay/113.out | 2 ++ tests/overlay/114 | 39 +++++++++++++++++++++++++++++++++++++++ tests/overlay/114.out | 2 ++ tests/overlay/115 | 40 ++++++++++++++++++++++++++++++++++++++++ tests/overlay/115.out | 2 ++ tests/overlay/116 | 40 ++++++++++++++++++++++++++++++++++++++++ tests/overlay/116.out | 2 ++ tests/overlay/117 | 41 +++++++++++++++++++++++++++++++++++++++++ tests/overlay/117.out | 2 ++ tests/overlay/group | 8 ++++++++ 17 files changed, 344 insertions(+) create mode 100755 tests/overlay/110 create mode 100644 tests/overlay/110.out create mode 100755 tests/overlay/111 create mode 100644 tests/overlay/111.out create mode 100755 tests/overlay/112 create mode 100644 tests/overlay/112.out create mode 100755 tests/overlay/113 create mode 100644 tests/overlay/113.out create mode 100755 tests/overlay/114 create mode 100644 tests/overlay/114.out create mode 100755 tests/overlay/115 create mode 100644 tests/overlay/115.out create mode 100755 tests/overlay/116 create mode 100644 tests/overlay/116.out create mode 100755 tests/overlay/117 create mode 100644 tests/overlay/117.out