summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAmir Goldstein <amir73il@gmail.com>2017-02-28 14:18:34 +0200
committerEryu Guan <eguan@redhat.com>2017-03-01 18:35:27 +0800
commit6f5ba68b7b220b60627417b4816d8f386ad9edc3 (patch)
tree950271dce5519184d24467faaea719de8761cf14
parent7626c8534176c96013b380843a0940044b18d6eb (diff)
overlay: rename OVERLAY_LOWER/UPPER/WORK_DIR
As preparation step for configuring test/scratch base fs for overlay tests: - Rename OVERLAY_LOWER/UPPER/WORK_DIR => OVL_LOWER/UPPER/WORK because we want to use OVL_ prefix for all base fs vars - Prepend "ovl-" prefix to lower/upper/work path values to isolate the overlay test dirs when running on a base fs that is also used to run non overlay tests - Make those vars values non-configurable, because lower/upper/work directory names are an internal test detail which should not concern the user and because we wish to simplify and document the overlay tests setup - Add helper _filter_ovl_dirs and use it to filter output of test overlay/023 which matches the constant string "work" Signed-off-by: Amir Goldstein <amir73il@gmail.com> Reviewed-by: Eryu Guan <eguan@redhat.com> Signed-off-by: Eryu Guan <eguan@redhat.com>
-rw-r--r--common/config8
-rw-r--r--common/filter7
-rw-r--r--common/rc19
-rwxr-xr-xtests/overlay/0012
-rwxr-xr-xtests/overlay/0022
-rwxr-xr-xtests/overlay/0032
-rwxr-xr-xtests/overlay/0044
-rwxr-xr-xtests/overlay/00610
-rwxr-xr-xtests/overlay/0088
-rwxr-xr-xtests/overlay/0092
-rwxr-xr-xtests/overlay/0108
-rwxr-xr-xtests/overlay/0114
-rwxr-xr-xtests/overlay/0124
-rwxr-xr-xtests/overlay/0134
-rwxr-xr-xtests/overlay/0152
-rwxr-xr-xtests/overlay/0162
-rwxr-xr-xtests/overlay/0172
-rwxr-xr-xtests/overlay/0182
-rwxr-xr-xtests/overlay/0192
-rwxr-xr-xtests/overlay/0202
-rwxr-xr-xtests/overlay/0212
-rwxr-xr-xtests/overlay/0222
-rwxr-xr-xtests/overlay/0234
-rw-r--r--tests/overlay/023.out2
-rwxr-xr-xtests/overlay/0242
-rwxr-xr-xtests/overlay/0272
-rwxr-xr-xtests/overlay/0282
-rwxr-xr-xtests/overlay/0294
28 files changed, 66 insertions, 50 deletions
diff --git a/common/config b/common/config
index cfbaa976..7abb4f72 100644
--- a/common/config
+++ b/common/config
@@ -77,9 +77,11 @@ export XFS_MKFS_OPTIONS=${XFS_MKFS_OPTIONS:=-bsize=4096}
export TIME_FACTOR=${TIME_FACTOR:=1}
export LOAD_FACTOR=${LOAD_FACTOR:=1}
export DEBUGFS_MNT=${DEBUGFS_MNT:="/sys/kernel/debug"}
-export OVERLAY_UPPER_DIR=${OVERLAY_UPPER_DIR:="upper"}
-export OVERLAY_LOWER_DIR=${OVERLAY_LOWER_DIR:="lower"}
-export OVERLAY_WORK_DIR=${OVERLAY_WORK_DIR:="work"}
+
+# some constants for overlayfs setup
+export OVL_UPPER="ovl-upper"
+export OVL_LOWER="ovl-lower"
+export OVL_WORK="ovl-work"
export PWD=`pwd`
#export DEBUG=${DEBUG:=...} # arbitrary CFLAGS really.
diff --git a/common/filter b/common/filter
index 010f080b..1ceb3464 100644
--- a/common/filter
+++ b/common/filter
@@ -424,5 +424,12 @@ _filter_lostfound()
sed -e '/^lost+found$/d'
}
+_filter_ovl_dirs()
+{
+ sed -e "s,$OVL_LOWER,OVL_LOWER,g" \
+ -e "s,$OVL_UPPER,OVL_UPPER,g" \
+ -e "s,$OVL_WORK,OVL_WORK,g"
+}
+
# make sure this script returns success
/bin/true
diff --git a/common/rc b/common/rc
index 551a7e98..e224e792 100644
--- a/common/rc
+++ b/common/rc
@@ -277,7 +277,7 @@ _common_dev_mount_options()
_overlay_basic_mount_options()
{
- echo "-o lowerdir=$1/$OVERLAY_LOWER_DIR,upperdir=$1/$OVERLAY_UPPER_DIR,workdir=$1/$OVERLAY_WORK_DIR"
+ echo "-o lowerdir=$1/$OVL_LOWER,upperdir=$1/$OVL_UPPER,workdir=$1/$OVL_WORK"
}
_overlay_mount_options()
@@ -336,6 +336,15 @@ _overlay_mount_dirs()
-o workdir=$workdir $*
}
+_overlay_mkdirs()
+{
+ local dir=$1
+
+ mkdir -p $dir/$OVL_UPPER
+ mkdir -p $dir/$OVL_LOWER
+ mkdir -p $dir/$OVL_WORK
+}
+
# Given a dir, set up 3 subdirectories and mount on the given mnt.
# The dir is used as the mount device so it can be seen from df or mount
_overlay_mount()
@@ -346,12 +355,10 @@ _overlay_mount()
_supports_filetype $dir || _notrun "upper fs needs to support d_type"
- mkdir -p $dir/$OVERLAY_UPPER_DIR
- mkdir -p $dir/$OVERLAY_LOWER_DIR
- mkdir -p $dir/$OVERLAY_WORK_DIR
+ _overlay_mkdirs $dir
- _overlay_mount_dirs $dir/$OVERLAY_LOWER_DIR $dir/$OVERLAY_UPPER_DIR \
- $dir/$OVERLAY_WORK_DIR $OVERLAY_MOUNT_OPTIONS \
+ _overlay_mount_dirs $dir/$OVL_LOWER $dir/$OVL_UPPER \
+ $dir/$OVL_WORK $OVERLAY_MOUNT_OPTIONS \
$SELINUX_MOUNT_OPTIONS $* $dir $mnt
}
diff --git a/tests/overlay/001 b/tests/overlay/001
index 7be9ae50..099ddd50 100755
--- a/tests/overlay/001
+++ b/tests/overlay/001
@@ -60,7 +60,7 @@ _scratch_mkfs
_require_fs_space $SCRATCH_DEV $((4*1024*1024*2 + 8))
# Create test files with different sizes in lower dir
-lowerdir=$SCRATCH_DEV/$OVERLAY_LOWER_DIR
+lowerdir=$SCRATCH_DEV/$OVL_LOWER
mkdir -p $lowerdir
touch $lowerdir/zero_size
$XFS_IO_PROG -fc "pwrite 0 4k" $lowerdir/less_than_4g >>$seqres.full
diff --git a/tests/overlay/002 b/tests/overlay/002
index ec7874e0..eaf9a91e 100755
--- a/tests/overlay/002
+++ b/tests/overlay/002
@@ -59,7 +59,7 @@ _require_scratch
_scratch_mkfs
# Create our test file.
-lowerdir=$SCRATCH_DEV/$OVERLAY_LOWER_DIR
+lowerdir=$SCRATCH_DEV/$OVL_LOWER
mkdir -p $lowerdir
touch $lowerdir/foobar
diff --git a/tests/overlay/003 b/tests/overlay/003
index fbc242a9..5e610c88 100755
--- a/tests/overlay/003
+++ b/tests/overlay/003
@@ -60,7 +60,7 @@ _require_scratch
_scratch_mkfs
# Create test files dirs in lower dir
-lowerdir=${SCRATCH_DEV}/${OVERLAY_LOWER_DIR}
+lowerdir=${SCRATCH_DEV}/${OVL_LOWER}
mkdir -p $lowerdir
touch ${lowerdir}/test_file
diff --git a/tests/overlay/004 b/tests/overlay/004
index 4075094c..8da5170c 100755
--- a/tests/overlay/004
+++ b/tests/overlay/004
@@ -53,8 +53,8 @@ _require_user
_scratch_mkfs
# Create test file in lower dir
-lowerdir=${SCRATCH_DEV}/${OVERLAY_LOWER_DIR}
-upperdir=${SCRATCH_DEV}/${OVERLAY_UPPER_DIR}
+lowerdir=${SCRATCH_DEV}/${OVL_LOWER}
+upperdir=${SCRATCH_DEV}/${OVL_UPPER}
mkdir -p $lowerdir
touch ${lowerdir}/attr_file1
chmod 000 ${lowerdir}/attr_file1
diff --git a/tests/overlay/006 b/tests/overlay/006
index 31f11ef5..55fc2ddc 100755
--- a/tests/overlay/006
+++ b/tests/overlay/006
@@ -57,15 +57,15 @@ echo "Silence is golden"
_scratch_mkfs
# Create test file/dir before mount
-mkdir $SCRATCH_DEV/$OVERLAY_LOWER_DIR
-mkdir $SCRATCH_DEV/$OVERLAY_UPPER_DIR
-touch $SCRATCH_DEV/$OVERLAY_LOWER_DIR/lowertestfile
-mkdir $SCRATCH_DEV/$OVERLAY_UPPER_DIR/uppertestdir
+mkdir -p $SCRATCH_DEV/$OVL_LOWER
+mkdir -p $SCRATCH_DEV/$OVL_UPPER
+touch $SCRATCH_DEV/$OVL_LOWER/lowertestfile
+mkdir $SCRATCH_DEV/$OVL_UPPER/uppertestdir
_scratch_mount
# rename lowertestfile to uppertestdir, this triggers copyup and creates
-# whiteout in $OVERLAY_UPPER_DIR
+# whiteout in $OVL_UPPER
mv $SCRATCH_MNT/lowertestfile $SCRATCH_MNT/uppertestdir
# the lowertestfile can be removed
rm $SCRATCH_MNT/uppertestdir/lowertestfile
diff --git a/tests/overlay/008 b/tests/overlay/008
index cb8667c3..b81cff8e 100755
--- a/tests/overlay/008
+++ b/tests/overlay/008
@@ -56,14 +56,14 @@ _require_user
_scratch_mkfs
# Create test file on lower dir, and chown to fsgqa user
-lowerdir=$SCRATCH_DEV/$OVERLAY_LOWER_DIR
-mkdir $lowerdir
+lowerdir=$SCRATCH_DEV/$OVL_LOWER
+mkdir -p $lowerdir
touch $lowerdir/testfile
chown fsgqa:fsgqa $lowerdir/testfile
# chown upperdir to fsgqa user, so new file/dir can be created by the user
-upperdir=$SCRATCH_DEV/$OVERLAY_UPPER_DIR
-mkdir $upperdir
+upperdir=$SCRATCH_DEV/$OVL_UPPER
+mkdir -p $upperdir
chown fsgqa:fsgqa $upperdir
_scratch_mount
diff --git a/tests/overlay/009 b/tests/overlay/009
index de94ca4a..bdac6b78 100755
--- a/tests/overlay/009
+++ b/tests/overlay/009
@@ -54,7 +54,7 @@ _require_scratch
_scratch_mkfs
# Create test file in lowerdir
-lowerdir=$SCRATCH_DEV/$OVERLAY_LOWER_DIR
+lowerdir=$SCRATCH_DEV/$OVL_LOWER
mkdir -p $lowerdir
touch $lowerdir/testfile
diff --git a/tests/overlay/010 b/tests/overlay/010
index a302d749..5882db9e 100755
--- a/tests/overlay/010
+++ b/tests/overlay/010
@@ -55,10 +55,10 @@ _scratch_mkfs
# Need two lower dirs in this test, and we mount overlay ourselves,
# create upper and workdir as well
-lowerdir1=$SCRATCH_DEV/$OVERLAY_LOWER_DIR.1
-lowerdir2=$SCRATCH_DEV/$OVERLAY_LOWER_DIR.2
-upperdir=$SCRATCH_DEV/$OVERLAY_UPPER_DIR
-workdir=$SCRATCH_DEV/$OVERLAY_WORK_DIR
+lowerdir1=$SCRATCH_DEV/$OVL_LOWER.1
+lowerdir2=$SCRATCH_DEV/$OVL_LOWER.2
+upperdir=$SCRATCH_DEV/$OVL_UPPER
+workdir=$SCRATCH_DEV/$OVL_WORK
mkdir -p $lowerdir1 $lowerdir2 $upperdir $workdir
# One lowerdir contains test dir and test files, the other contains whiteout
diff --git a/tests/overlay/011 b/tests/overlay/011
index 4b697b8c..1d6c44ab 100755
--- a/tests/overlay/011
+++ b/tests/overlay/011
@@ -58,8 +58,8 @@ _require_attrs
_scratch_mkfs
# Create test dir on upper and make it opaque by setting proper xattr
-lowerdir=$SCRATCH_DEV/$OVERLAY_LOWER_DIR
-upperdir=$SCRATCH_DEV/$OVERLAY_UPPER_DIR
+lowerdir=$SCRATCH_DEV/$OVL_LOWER
+upperdir=$SCRATCH_DEV/$OVL_UPPER
mkdir -p $lowerdir/testdir
mkdir -p $upperdir/testdir
$SETFATTR_PROG -n "trusted.overlay.opaque" -v "y" $upperdir/testdir
diff --git a/tests/overlay/012 b/tests/overlay/012
index cfe16f21..1c4f7c69 100755
--- a/tests/overlay/012
+++ b/tests/overlay/012
@@ -55,8 +55,8 @@ _require_scratch
# remove all files from previous runs
_scratch_mkfs
-lowerdir=$SCRATCH_DEV/$OVERLAY_LOWER_DIR
-upperdir=$SCRATCH_DEV/$OVERLAY_UPPER_DIR
+lowerdir=$SCRATCH_DEV/$OVL_LOWER
+upperdir=$SCRATCH_DEV/$OVL_UPPER
mkdir -p $lowerdir/test
_scratch_mount
diff --git a/tests/overlay/013 b/tests/overlay/013
index e99e10aa..536e9817 100755
--- a/tests/overlay/013
+++ b/tests/overlay/013
@@ -54,8 +54,8 @@ _require_test_program "t_truncate_self"
_scratch_mkfs
# copy test program to lower and upper dir
-lowerdir=$SCRATCH_DEV/$OVERLAY_LOWER_DIR
-upperdir=$SCRATCH_DEV/$OVERLAY_UPPER_DIR
+lowerdir=$SCRATCH_DEV/$OVL_LOWER
+upperdir=$SCRATCH_DEV/$OVL_UPPER
mkdir -p $lowerdir
mkdir -p $upperdir
cp $here/src/t_truncate_self $lowerdir/test_lower
diff --git a/tests/overlay/015 b/tests/overlay/015
index c39caed7..0e09e0cd 100755
--- a/tests/overlay/015
+++ b/tests/overlay/015
@@ -57,7 +57,7 @@ _scratch_mkfs
umask 022
# Create test dir in lower dir and set sgid bit
-lowerdir=$SCRATCH_DEV/$OVERLAY_LOWER_DIR
+lowerdir=$SCRATCH_DEV/$OVL_LOWER
mkdir -p $lowerdir/dir
chown $qa_user:$qa_group $lowerdir/dir
chmod 2775 $lowerdir/dir
diff --git a/tests/overlay/016 b/tests/overlay/016
index cffcde70..c678ea46 100755
--- a/tests/overlay/016
+++ b/tests/overlay/016
@@ -57,7 +57,7 @@ rm -f $seqres.full
_scratch_mkfs >>$seqres.full 2>&1
# Create our test files.
-lowerdir=$SCRATCH_DEV/$OVERLAY_LOWER_DIR
+lowerdir=$SCRATCH_DEV/$OVL_LOWER
mkdir -p $lowerdir
echo "This is old news" > $lowerdir/foo
echo "This is old news" > $lowerdir/bar
diff --git a/tests/overlay/017 b/tests/overlay/017
index 5330de24..6b127222 100755
--- a/tests/overlay/017
+++ b/tests/overlay/017
@@ -60,7 +60,7 @@ _scratch_mkfs >>$seqres.full 2>&1
# Not dealing with hardlinks here, because there is more to test
# then stable inode number.
# Hardlinks will get a test of their own.
-lowerdir=$SCRATCH_DEV/$OVERLAY_LOWER_DIR
+lowerdir=$SCRATCH_DEV/$OVL_LOWER
mkdir -p $lowerdir
mkdir $lowerdir/dir
touch $lowerdir/file
diff --git a/tests/overlay/018 b/tests/overlay/018
index df631fcc..37bf11c2 100755
--- a/tests/overlay/018
+++ b/tests/overlay/018
@@ -55,7 +55,7 @@ rm -f $seqres.full
_scratch_mkfs >>$seqres.full 2>&1
# Create 2 hardlinked files in lower
-lowerdir=$SCRATCH_DEV/$OVERLAY_LOWER_DIR
+lowerdir=$SCRATCH_DEV/$OVL_LOWER
mkdir -p $lowerdir
echo "patient zero" >> $lowerdir/foo
ln $lowerdir/foo $lowerdir/bar
diff --git a/tests/overlay/019 b/tests/overlay/019
index 41ce63b8..9177acb3 100755
--- a/tests/overlay/019
+++ b/tests/overlay/019
@@ -51,7 +51,7 @@ _require_scratch
# Remove all files from previous tests
_scratch_mkfs
-lowerdir=$SCRATCH_DEV/$OVERLAY_LOWER_DIR
+lowerdir=$SCRATCH_DEV/$OVL_LOWER
mkdir -p $lowerdir
_scratch_mount
diff --git a/tests/overlay/020 b/tests/overlay/020
index 4afd40ab..3cd0f051 100755
--- a/tests/overlay/020
+++ b/tests/overlay/020
@@ -55,7 +55,7 @@ _require_scratch
# Remove all files from previous tests
_scratch_mkfs
-lowerdir=$SCRATCH_DEV/$OVERLAY_LOWER_DIR
+lowerdir=$SCRATCH_DEV/$OVL_LOWER
mkdir -p $lowerdir/dir
_scratch_mount
diff --git a/tests/overlay/021 b/tests/overlay/021
index c79bb010..c6d68aaa 100755
--- a/tests/overlay/021
+++ b/tests/overlay/021
@@ -60,7 +60,7 @@ _scratch_mkfs
# conservative and reserve space for 16 data copy ups per directory.
_require_fs_space $SCRATCH_DEV $((16*(16+32+64+128)*1024))
-lowerdir=$SCRATCH_DEV/$OVERLAY_LOWER_DIR
+lowerdir=$SCRATCH_DEV/$OVL_LOWER
mkdir -p $lowerdir
testdir=arena
diff --git a/tests/overlay/022 b/tests/overlay/022
index 817ee639..46034eae 100755
--- a/tests/overlay/022
+++ b/tests/overlay/022
@@ -59,7 +59,7 @@ _require_scratch
# Remove all files from previous tests
_scratch_mkfs
-upperdir=$SCRATCH_DEV/$OVERLAY_UPPER_DIR
+upperdir=$SCRATCH_DEV/$OVL_UPPER
mkdir -p $upperdir/upper
mkdir -p $upperdir/work
# mount overlay with dirs in upper
diff --git a/tests/overlay/023 b/tests/overlay/023
index ab49e180..c855d16a 100755
--- a/tests/overlay/023
+++ b/tests/overlay/023
@@ -63,14 +63,14 @@ _require_scratch
_scratch_mkfs
# setting acls before mount
-wkdir=$SCRATCH_DEV/$OVERLAY_WORK_DIR
+wkdir=$SCRATCH_DEV/$OVL_WORK
mkdir -p $wkdir
setfacl -d -m o::rwx $wkdir
_scratch_mount
# getting acls, ACL set on workdir should be cleaned
-getfacl -p $wkdir/work 2>&1 | _filter_scratch
+getfacl -p $wkdir/work 2>&1 | _filter_scratch | _filter_ovl_dirs
# success, all done
status=0
diff --git a/tests/overlay/023.out b/tests/overlay/023.out
index a1a3c378..4a243c5b 100644
--- a/tests/overlay/023.out
+++ b/tests/overlay/023.out
@@ -1,5 +1,5 @@
QA output created by 023
-# file: SCRATCH_DEV/work/work
+# file: SCRATCH_DEV/OVL_WORK/work
# owner: root
# group: root
user::---
diff --git a/tests/overlay/024 b/tests/overlay/024
index 2dbef124..25195f72 100755
--- a/tests/overlay/024
+++ b/tests/overlay/024
@@ -61,7 +61,7 @@ _require_scratch
_scratch_mkfs
# making workdir
-wkdir=$SCRATCH_DEV/$OVERLAY_WORK_DIR
+wkdir=$SCRATCH_DEV/$OVL_WORK
mkdir -p $wkdir/work/foo
_scratch_mount
diff --git a/tests/overlay/027 b/tests/overlay/027
index 4bb03294..1c779561 100755
--- a/tests/overlay/027
+++ b/tests/overlay/027
@@ -63,7 +63,7 @@ _require_chattr
_scratch_mkfs
# Preparing immutable file
-upperdir=$SCRATCH_DEV/$OVERLAY_UPPER_DIR
+upperdir=$SCRATCH_DEV/$OVL_UPPER
mkdir -p $upperdir
touch $upperdir/foo
$CHATTR_PROG +i $upperdir/foo
diff --git a/tests/overlay/028 b/tests/overlay/028
index 6045e09b..ad610e21 100755
--- a/tests/overlay/028
+++ b/tests/overlay/028
@@ -61,7 +61,7 @@ _require_command "$FLOCK_PROG" flock
# Remove all files from previous tests
_scratch_mkfs
-lowerdir=$SCRATCH_DEV/$OVERLAY_LOWER_DIR
+lowerdir=$SCRATCH_DEV/$OVL_LOWER
mkdir -p $lowerdir
touch $lowerdir/foo
diff --git a/tests/overlay/029 b/tests/overlay/029
index 902a84c6..8dce6b33 100755
--- a/tests/overlay/029
+++ b/tests/overlay/029
@@ -65,8 +65,8 @@ _require_scratch
_scratch_mkfs
# Preparing files
-upperdir=$SCRATCH_DEV/$OVERLAY_UPPER_DIR
-lowerdir=$SCRATCH_DEV/$OVERLAY_LOWER_DIR
+upperdir=$SCRATCH_DEV/$OVL_UPPER
+lowerdir=$SCRATCH_DEV/$OVL_LOWER
mkdir -p $upperdir/up
echo foo > $upperdir/up/foo
mkdir -p $lowerdir/low