overlay: add unionmount tests with multi lower layers

The tests with multi lower layers rotate the upper layer into a lower
layer on specific operations such as mkdir, rename and link.
That provides test coverage for redirect_dir and index features.

The following variations are covered:
1. All layers all on scratch fs (--ov=10 --samefs)
2. All layers on scratch fs expect for lowermost on test fs (--ov=10)
3. Lowermost layer on test fs, one layer on tmpfs and the rest
   on sratch fs (--ov=10 --maxfs=1)
4. Lowermost layer on test fs, one layer on scratch fs and the rest
   are unique tmpfs instances (--ov=10 --maxfs=10)

Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Reviewed-by: Eryu Guan <guaneryu@gmail.com>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
This commit is contained in:
Amir Goldstein
2020-05-31 14:01:55 +03:00
committed by Eryu Guan
parent 35c7a37928
commit da3796a56f
15 changed files with 302 additions and 0 deletions
+38
View File
@@ -0,0 +1,38 @@
#! /bin/bash
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2020 CTERA Networks. All Rights Reserved.
#
# FS QA Test 103
#
# Run unionmount testsuite to verify correctness
# with multi lower layers on same fs as upper
#
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 --ov=10 --samefs --verify
# success, all done
echo "Silence is golden"
status=0
exit
+2
View File
@@ -0,0 +1,2 @@
QA output created by 103
Silence is golden
+39
View File
@@ -0,0 +1,39 @@
#! /bin/bash
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2020 CTERA Networks. All Rights Reserved.
#
# FS QA Test 104
#
# Run unionmount testsuite to verify correctness
# with multi lower layers, lowermost on unique 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 --ov=10 --verify
# success, all done
echo "Silence is golden"
status=0
exit
+2
View File
@@ -0,0 +1,2 @@
QA output created by 104
Silence is golden
+40
View File
@@ -0,0 +1,40 @@
#! /bin/bash
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2020 CTERA Networks. All Rights Reserved.
#
# FS QA Test 105
#
# Run unionmount testsuite to verify correctness
# with multi lower layers, lowermost on unique fs,
# with xino enabled
#
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 --ov=10 --xino --verify
# success, all done
echo "Silence is golden"
status=0
exit
+2
View File
@@ -0,0 +1,2 @@
QA output created by 105
Silence is golden
+41
View File
@@ -0,0 +1,41 @@
#! /bin/bash
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2020 CTERA Networks. All Rights Reserved.
#
# FS QA Test 106
#
# Run unionmount testsuite to verify correctness
# with multi lower layers, some layers on unique fs,
# one layer is on tmpfs.
#
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_tmpfs
_require_test
_require_scratch
_require_unionmount_testsuite
_unionmount_testsuite_run --ov=10 --maxfs=1 --verify
# success, all done
echo "Silence is golden"
status=0
exit
+2
View File
@@ -0,0 +1,2 @@
QA output created by 106
Silence is golden
+41
View File
@@ -0,0 +1,41 @@
#! /bin/bash
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2020 CTERA Networks. All Rights Reserved.
#
# FS QA Test 107
#
# Run unionmount testsuite to verify correctness
# with multi lower layers, some layers on unique fs,
# one layer is on tmpfs with xino enabled.
#
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_tmpfs
_require_test
_require_scratch
_require_unionmount_testsuite
_unionmount_testsuite_run --ov=10 --maxfs=1 --xino --verify
# success, all done
echo "Silence is golden"
status=0
exit
+2
View File
@@ -0,0 +1,2 @@
QA output created by 107
Silence is golden
+41
View File
@@ -0,0 +1,41 @@
#! /bin/bash
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2020 CTERA Networks. All Rights Reserved.
#
# FS QA Test 108
#
# Run unionmount testsuite to verify correctness
# with multi lower layers, all layers on unique fs,
# some layers are on tmpfs.
#
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_tmpfs
_require_test
_require_scratch
_require_unionmount_testsuite
_unionmount_testsuite_run --ov=10 --maxfs=10 --verify
# success, all done
echo "Silence is golden"
status=0
exit
+2
View File
@@ -0,0 +1,2 @@
QA output created by 108
Silence is golden
+41
View File
@@ -0,0 +1,41 @@
#! /bin/bash
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2020 CTERA Networks. All Rights Reserved.
#
# FS QA Test 109
#
# Run unionmount testsuite to verify correctness
# with multi lower layers, all layers on unique fs,
# some layers are on tmpfs with xino enabled.
#
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_tmpfs
_require_test
_require_scratch
_require_unionmount_testsuite
_unionmount_testsuite_run --ov=10 --maxfs=10 --xino --verify
# success, all done
echo "Silence is golden"
status=0
exit
+2
View File
@@ -0,0 +1,2 @@
QA output created by 109
Silence is golden
+7
View File
@@ -80,3 +80,10 @@
100 auto quick union samefs 100 auto quick union samefs
101 auto quick union nonsamefs 101 auto quick union nonsamefs
102 auto quick union nonsamefs xino 102 auto quick union nonsamefs xino
103 auto union rotate samefs
104 auto union rotate nonsamefs
105 auto union rotate nonsamefs xino
106 auto union rotate nonsamefs
107 auto union rotate nonsamefs xino
108 auto union rotate nonsamefs
109 auto union rotate nonsamefs xino