overlay: rename OVERLAY_LOWER/UPPER/WORK_DIR
authorAmir Goldstein <amir73il@gmail.com>
Tue, 28 Feb 2017 12:18:34 +0000 (14:18 +0200)
committerEryu Guan <eguan@redhat.com>
Wed, 1 Mar 2017 10:35:27 +0000 (18:35 +0800)
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>
28 files changed:
common/config
common/filter
common/rc
tests/overlay/001
tests/overlay/002
tests/overlay/003
tests/overlay/004
tests/overlay/006
tests/overlay/008
tests/overlay/009
tests/overlay/010
tests/overlay/011
tests/overlay/012
tests/overlay/013
tests/overlay/015
tests/overlay/016
tests/overlay/017
tests/overlay/018
tests/overlay/019
tests/overlay/020
tests/overlay/021
tests/overlay/022
tests/overlay/023
tests/overlay/023.out
tests/overlay/024
tests/overlay/027
tests/overlay/028
tests/overlay/029

index cfbaa9766d0c2ace900c4e92210cd3ef5205cd49..7abb4f723c866fa80144ab0892a0133c9af51a1e 100644 (file)
@@ -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.
index 010f080b1c2f945b8a28203c116ff91c1b293eb5..1ceb3464da38772ab65a8a819f5c6efa81e91991 100644 (file)
@@ -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
index 551a7e9869cf9909fe28fb55df007160b5bf67c8..e224e7922e15ec92a27b341ae9970dcb4434c889 100644 (file)
--- 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
 }
 
index 7be9ae50ea79f159d3c34f7665791fc0617d40ba..099ddd5098c54928681cda2c2b68ba681d99d428 100755 (executable)
@@ -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
index ec7874e0b5d440811ffc6864477db22ee45f9534..eaf9a91ee984e1d064c6133833e3d4914ce1a0da 100755 (executable)
@@ -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
 
index fbc242a9b9a444a9ea5657a886a3dd69c8122af3..5e610c8807bed61ebcb116182633e6e8db701712 100755 (executable)
@@ -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
index 4075094cdae25e55711d8a87c196482ebc093483..8da5170c1295056828b61e438549e9dd43e1a2ba 100755 (executable)
@@ -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
index 31f11ef5558a9c5ee71dd7b699f72ee2419c314a..55fc2ddc670d9f435dce1bc04da436ef0112c4f8 100755 (executable)
@@ -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
index cb8667c37754be730c2ebdc21017c51346737651..b81cff8e98253d68ac7368533fdcbaad1885e79b 100755 (executable)
@@ -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
index de94ca4aebdb78b9c5e93f2492b3f2c77ebf81f5..bdac6b7897ba1742f69fb535392dcab3e88fe529 100755 (executable)
@@ -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
 
index a302d749ebccf103d47b5dbb88592391083a5a76..5882db9e6ce83b525a0001eb75c2db24359b3c4d 100755 (executable)
@@ -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
index 4b697b8cbd54de32c93471eb022645983016d91e..1d6c44ab725ab64918866bc577d175eee17b6c57 100755 (executable)
@@ -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
index cfe16f2154c51e45285fb5b9be9c9064b1bc0cda..1c4f7c69d9f7851caac88d3a0100402865dbe783 100755 (executable)
@@ -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
index e99e10aabc9f37ffbb06e42d8f8fb62b59fe2e40..536e981717bd8d925ff3c8e4687dded11709b0d5 100755 (executable)
@@ -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
index c39caed7153875af9c1698a44773f6ecfedff25a..0e09e0cd6c3692376e9a22051ac5bd34fae2d7cd 100755 (executable)
@@ -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
index cffcde70511eb514f6531ca4b966bf1a1793151e..c678ea4620fa083122e70eb633aaa10762a792a9 100755 (executable)
@@ -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
index 5330de24830e95d04f81fbb4e324bcc7301b8738..6b127222cbb86dd3b4e6749c013664ce0dc7c8c6 100755 (executable)
@@ -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
index df631fcc5f9d96bc62aa89777319204262d43abf..37bf11c26fed6a7e0b7abc34549eb3d510a89b48 100755 (executable)
@@ -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
index 41ce63b8f2c33e4e9394415c14ef7075247db3cd..9177acb39f8c537424a2165fe4e55291550f9c4b 100755 (executable)
@@ -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
index 4afd40ab6833448bc4463495a01af12e387d72ec..3cd0f051031223e266ac0acbddb966da9ed8e05d 100755 (executable)
@@ -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
index c79bb010c2f699dd6c30b7f66c52c28e6683a473..c6d68aaa343ec43a925703e462cdaf0bfcfab7ce 100755 (executable)
@@ -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
index 817ee639cd8782066f3e9072e0ccf3f077ffdea6..46034eae79b25d1fea6668fadbaf0bd901ffe42d 100755 (executable)
@@ -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
index ab49e180fc603858b6bde6ac530bb900f2c2c5c2..c855d16adda657e67c9b3464a3e16321cfe91799 100755 (executable)
@@ -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
index a1a3c3788235792f68bfe570f0b8a968b6a5ad35..4a243c5b44ce0bfc46607cd8778a29f65f506eec 100644 (file)
@@ -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::---
index 2dbef124357cc340c5afa32c8a884195f6e891cb..25195f720e495149be5f9e94dbacd29342614407 100755 (executable)
@@ -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
index 4bb03294340a3432d450202cb3f44dce28b40629..1c7795614a6f4cefd710b7ad7e1d0b21f2bea0ed 100755 (executable)
@@ -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
index 6045e09b830a84e30e0307ba2b459f1af9d50263..ad610e214042bc0ebc67a3fbabaf847f7f6fc5f2 100755 (executable)
@@ -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
 
index 902a84c69ac8f04b71eecfeba29ef11750fb2d28..8dce6b33935c1d0ee7d136f21e63a90af07e5da2 100755 (executable)
@@ -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