From: Amir Goldstein Date: Tue, 28 Feb 2017 12:18:37 +0000 (+0200) Subject: overlay: use OVL_BASE_SCRATCH_MNT instead of SCRATCH_DEV X-Git-Tag: v2022.05.01~2137 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=33e41998959efe6e7759d42aa2c454ff899c76b7;p=xfstests-dev.git overlay: use OVL_BASE_SCRATCH_MNT instead of SCRATCH_DEV Use the new var OVL_BASE_SCRATCH_MNT to refer to overlay base dir instead of the legacy SCRATCH_DEV var. In overlay/011, when using MOUNT_PROG directly, provide OVL_BASE_SCRATCH_MNT as device argument instead of 'none'. This fix is required to support mount of base fs. Signed-off-by: Amir Goldstein Reviewed-by: Eryu Guan Signed-off-by: Eryu Guan --- diff --git a/tests/overlay/001 b/tests/overlay/001 index 099ddd50..c0abbfb5 100755 --- a/tests/overlay/001 +++ b/tests/overlay/001 @@ -55,12 +55,11 @@ _require_scratch _scratch_mkfs # overlay copy_up doesn't deal with sparse file well, holes will be filled by -# zeros, so at least (4G + 4G + 8k) free space is needed on $SCRATCH_DEV, -# where $SCRATCH_DEV is actually a test dir used in overlay testing -_require_fs_space $SCRATCH_DEV $((4*1024*1024*2 + 8)) +# zeros, so at least (4G + 4G + 8k) free space is needed on scratch base fs +_require_fs_space $OVL_BASE_SCRATCH_MNT $((4*1024*1024*2 + 8)) # Create test files with different sizes in lower dir -lowerdir=$SCRATCH_DEV/$OVL_LOWER +lowerdir=$OVL_BASE_SCRATCH_MNT/$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 eaf9a91e..ffdec184 100755 --- a/tests/overlay/002 +++ b/tests/overlay/002 @@ -59,7 +59,7 @@ _require_scratch _scratch_mkfs # Create our test file. -lowerdir=$SCRATCH_DEV/$OVL_LOWER +lowerdir=$OVL_BASE_SCRATCH_MNT/$OVL_LOWER mkdir -p $lowerdir touch $lowerdir/foobar diff --git a/tests/overlay/003 b/tests/overlay/003 index 76252734..f980edb2 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}/${OVL_LOWER} +lowerdir=${OVL_BASE_SCRATCH_MNT}/${OVL_LOWER} mkdir -p $lowerdir touch ${lowerdir}/test_file diff --git a/tests/overlay/004 b/tests/overlay/004 index 72b0ab37..611847a8 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}/${OVL_LOWER} -upperdir=${SCRATCH_DEV}/${OVL_UPPER} +lowerdir=${OVL_BASE_SCRATCH_MNT}/${OVL_LOWER} +upperdir=${OVL_BASE_SCRATCH_MNT}/${OVL_UPPER} mkdir -p $lowerdir touch ${lowerdir}/attr_file1 chmod 000 ${lowerdir}/attr_file1 diff --git a/tests/overlay/005 b/tests/overlay/005 index baadb696..f885fdc4 100755 --- a/tests/overlay/005 +++ b/tests/overlay/005 @@ -61,31 +61,31 @@ _require_loop _scratch_mkfs # setup loop images fs for overlayfs -lower_img=${SCRATCH_DEV}/${seq}.$$.img +lower_img=${OVL_BASE_SCRATCH_MNT}/${seq}.$$.img $XFS_IO_PROG -f -c "truncate 120m" $lower_img >>$seqres.full 2>&1 fs_loop_dev=`_create_loop_device $lower_img` $MKFS_XFS_PROG -f -n ftype=1 $fs_loop_dev >>$seqres.full 2>&1 # only 20m for upper dir -upper_img=${SCRATCH_DEV}/$$.${seq}.img +upper_img=${OVL_BASE_SCRATCH_MNT}/$$.${seq}.img $XFS_IO_PROG -f -c "truncate 20m" $upper_img >>$seqres.full 2>&1 upper_loop_dev=`_create_loop_device $upper_img` $MKFS_XFS_PROG -f -n ftype=1 $upper_loop_dev >>$seqres.full 2>&1 # mount underlying xfs -mkdir -p ${SCRATCH_DEV}/lowermnt -mkdir -p ${SCRATCH_DEV}/uppermnt -$MOUNT_PROG $fs_loop_dev ${SCRATCH_DEV}/lowermnt -$MOUNT_PROG $upper_loop_dev ${SCRATCH_DEV}/uppermnt +mkdir -p ${OVL_BASE_SCRATCH_MNT}/lowermnt +mkdir -p ${OVL_BASE_SCRATCH_MNT}/uppermnt +$MOUNT_PROG $fs_loop_dev ${OVL_BASE_SCRATCH_MNT}/lowermnt +$MOUNT_PROG $upper_loop_dev ${OVL_BASE_SCRATCH_MNT}/uppermnt # prepare dirs -mkdir -p ${SCRATCH_DEV}/lowermnt/lower -mkdir -p ${SCRATCH_DEV}/uppermnt/upper -mkdir -p ${SCRATCH_DEV}/uppermnt/work +mkdir -p ${OVL_BASE_SCRATCH_MNT}/lowermnt/lower +mkdir -p ${OVL_BASE_SCRATCH_MNT}/uppermnt/upper +mkdir -p ${OVL_BASE_SCRATCH_MNT}/uppermnt/work -lowerd=${SCRATCH_DEV}/lowermnt/lower -upperd=${SCRATCH_DEV}/uppermnt/upper -workd=${SCRATCH_DEV}/uppermnt/work +lowerd=${OVL_BASE_SCRATCH_MNT}/lowermnt/lower +upperd=${OVL_BASE_SCRATCH_MNT}/uppermnt/upper +workd=${OVL_BASE_SCRATCH_MNT}/uppermnt/work # Create test file in lower dir, with too big a size for # upper dir to copy up. @@ -93,7 +93,7 @@ $XFS_IO_PROG -f -c "truncate 48m" ${lowerd}/test_file \ >>$seqres.full 2>&1 # mount new overlayfs -_overlay_mount_dirs $lowerd $upperd $workd $SCRATCH_DEV $SCRATCH_MNT +_overlay_mount_dirs $lowerd $upperd $workd $OVL_BASE_SCRATCH_MNT $SCRATCH_MNT # the open call triggers copy-up and it will fail ENOSPC $XFS_IO_PROG -f -c "o" ${SCRATCH_MNT}/test_file \ @@ -103,8 +103,8 @@ $XFS_IO_PROG -f -c "o" ${SCRATCH_MNT}/test_file \ $UMOUNT_PROG $SCRATCH_MNT # unmount undelying xfs, this tiggers panic if memleak happens -$UMOUNT_PROG ${SCRATCH_DEV}/uppermnt -$UMOUNT_PROG ${SCRATCH_DEV}/lowermnt +$UMOUNT_PROG ${OVL_BASE_SCRATCH_MNT}/uppermnt +$UMOUNT_PROG ${OVL_BASE_SCRATCH_MNT}/lowermnt # success, all done echo "Silence is golden" diff --git a/tests/overlay/006 b/tests/overlay/006 index 55fc2ddc..815657f4 100755 --- a/tests/overlay/006 +++ b/tests/overlay/006 @@ -57,10 +57,10 @@ echo "Silence is golden" _scratch_mkfs # Create test file/dir before mount -mkdir -p $SCRATCH_DEV/$OVL_LOWER -mkdir -p $SCRATCH_DEV/$OVL_UPPER -touch $SCRATCH_DEV/$OVL_LOWER/lowertestfile -mkdir $SCRATCH_DEV/$OVL_UPPER/uppertestdir +mkdir -p $OVL_BASE_SCRATCH_MNT/$OVL_LOWER +mkdir -p $OVL_BASE_SCRATCH_MNT/$OVL_UPPER +touch $OVL_BASE_SCRATCH_MNT/$OVL_LOWER/lowertestfile +mkdir $OVL_BASE_SCRATCH_MNT/$OVL_UPPER/uppertestdir _scratch_mount diff --git a/tests/overlay/008 b/tests/overlay/008 index b81cff8e..d5bc1df3 100755 --- a/tests/overlay/008 +++ b/tests/overlay/008 @@ -56,13 +56,13 @@ _require_user _scratch_mkfs # Create test file on lower dir, and chown to fsgqa user -lowerdir=$SCRATCH_DEV/$OVL_LOWER +lowerdir=$OVL_BASE_SCRATCH_MNT/$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/$OVL_UPPER +upperdir=$OVL_BASE_SCRATCH_MNT/$OVL_UPPER mkdir -p $upperdir chown fsgqa:fsgqa $upperdir diff --git a/tests/overlay/009 b/tests/overlay/009 index bdac6b78..f3678874 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/$OVL_LOWER +lowerdir=$OVL_BASE_SCRATCH_MNT/$OVL_LOWER mkdir -p $lowerdir touch $lowerdir/testfile diff --git a/tests/overlay/010 b/tests/overlay/010 index 5882db9e..dee99cfa 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/$OVL_LOWER.1 -lowerdir2=$SCRATCH_DEV/$OVL_LOWER.2 -upperdir=$SCRATCH_DEV/$OVL_UPPER -workdir=$SCRATCH_DEV/$OVL_WORK +lowerdir1=$OVL_BASE_SCRATCH_MNT/$OVL_LOWER.1 +lowerdir2=$OVL_BASE_SCRATCH_MNT/$OVL_LOWER.2 +upperdir=$OVL_BASE_SCRATCH_MNT/$OVL_UPPER +workdir=$OVL_BASE_SCRATCH_MNT/$OVL_WORK mkdir -p $lowerdir1 $lowerdir2 $upperdir $workdir # One lowerdir contains test dir and test files, the other contains whiteout @@ -68,7 +68,7 @@ mknod $lowerdir2/testdir/a c 0 0 # Mount overlayfs and remove testdir, which led to kernel crash _overlay_mount_dirs "$lowerdir2:$lowerdir1" $upperdir $workdir \ - $SCRATCH_DEV $SCRATCH_MNT + $OVL_BASE_SCRATCH_MNT $SCRATCH_MNT rm -rf $SCRATCH_MNT/testdir # success, all done diff --git a/tests/overlay/011 b/tests/overlay/011 index 1d6c44ab..87ac17b8 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/$OVL_LOWER -upperdir=$SCRATCH_DEV/$OVL_UPPER +lowerdir=$OVL_BASE_SCRATCH_MNT/$OVL_LOWER +upperdir=$OVL_BASE_SCRATCH_MNT/$OVL_UPPER mkdir -p $lowerdir/testdir mkdir -p $upperdir/testdir $SETFATTR_PROG -n "trusted.overlay.opaque" -v "y" $upperdir/testdir @@ -68,7 +68,7 @@ $SETFATTR_PROG -n "trusted.overlay.opaque" -v "y" $upperdir/testdir # $upperdir overlaid on top of $lowerdir, so that "trusted.overlay.opaque" # xattr should be honored and should not be listed # mount readonly, because there's no upper and workdir -$MOUNT_PROG -t overlay -o ro -o lowerdir=$upperdir:$lowerdir none $SCRATCH_MNT +$MOUNT_PROG -t overlay -o ro -o lowerdir=$upperdir:$lowerdir $OVL_BASE_SCRATCH_MNT $SCRATCH_MNT # Dump trusted.overlay xattr, we should not see the "opaque" xattr $GETFATTR_PROG -d -m overlay $SCRATCH_MNT/testdir diff --git a/tests/overlay/012 b/tests/overlay/012 index 1c4f7c69..9cf15268 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/$OVL_LOWER -upperdir=$SCRATCH_DEV/$OVL_UPPER +lowerdir=$OVL_BASE_SCRATCH_MNT/$OVL_LOWER +upperdir=$OVL_BASE_SCRATCH_MNT/$OVL_UPPER mkdir -p $lowerdir/test _scratch_mount diff --git a/tests/overlay/013 b/tests/overlay/013 index 536e9817..de0fc26a 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/$OVL_LOWER -upperdir=$SCRATCH_DEV/$OVL_UPPER +lowerdir=$OVL_BASE_SCRATCH_MNT/$OVL_LOWER +upperdir=$OVL_BASE_SCRATCH_MNT/$OVL_UPPER mkdir -p $lowerdir mkdir -p $upperdir cp $here/src/t_truncate_self $lowerdir/test_lower diff --git a/tests/overlay/014 b/tests/overlay/014 index c95a8926..653b7d6d 100755 --- a/tests/overlay/014 +++ b/tests/overlay/014 @@ -61,16 +61,16 @@ _require_scratch _scratch_mkfs # Create multiple lowerdirs and upperdir, workdir, and testdir on lowerdir -lowerdir1=$SCRATCH_DEV/lower1 -lowerdir2=$SCRATCH_DEV/lower2 -upperdir=$SCRATCH_DEV/upper -workdir=$SCRATCH_DEV/workdir +lowerdir1=$OVL_BASE_SCRATCH_MNT/lower1 +lowerdir2=$OVL_BASE_SCRATCH_MNT/lower2 +upperdir=$OVL_BASE_SCRATCH_MNT/upper +workdir=$OVL_BASE_SCRATCH_MNT/workdir mkdir -p $lowerdir1 $lowerdir2 $upperdir $workdir mkdir -p $lowerdir1/testdir/d # mount overlay with $lowerdir2 as upperdir, and remove & recreate testdir, # make testdir on $lowerdir2 opaque -_overlay_mount_dirs $lowerdir1 $lowerdir2 $workdir $SCRATCH_DEV $SCRATCH_MNT +_overlay_mount_dirs $lowerdir1 $lowerdir2 $workdir $OVL_BASE_SCRATCH_MNT $SCRATCH_MNT rm -rf $SCRATCH_MNT/testdir mkdir -p $SCRATCH_MNT/testdir/visibledir # unmount overlayfs but not base fs @@ -80,14 +80,14 @@ $UMOUNT_PROG $SCRATCH_MNT # and create a new file in testdir, triggers copyup from lowerdir, # copyup should not copy overlayfs private xattr _overlay_mount_dirs "$lowerdir2:$lowerdir1" $upperdir $workdir \ - $SCRATCH_DEV $SCRATCH_MNT + $OVL_BASE_SCRATCH_MNT $SCRATCH_MNT touch $SCRATCH_MNT/testdir/visiblefile # umount and mount overlay again, buggy kernel treats the copied-up dir as # opaque, visibledir is not seen in merged dir. $UMOUNT_PROG $SCRATCH_MNT _overlay_mount_dirs "$lowerdir2:$lowerdir1" $upperdir $workdir \ - $SCRATCH_DEV $SCRATCH_MNT + $OVL_BASE_SCRATCH_MNT $SCRATCH_MNT ls $SCRATCH_MNT/testdir # success, all done diff --git a/tests/overlay/015 b/tests/overlay/015 index 0e09e0cd..48940976 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/$OVL_LOWER +lowerdir=$OVL_BASE_SCRATCH_MNT/$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 c678ea46..86a7d28f 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/$OVL_LOWER +lowerdir=$OVL_BASE_SCRATCH_MNT/$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 6b127222..5ca30408 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/$OVL_LOWER +lowerdir=$OVL_BASE_SCRATCH_MNT/$OVL_LOWER mkdir -p $lowerdir mkdir $lowerdir/dir touch $lowerdir/file diff --git a/tests/overlay/018 b/tests/overlay/018 index 37bf11c2..7e477321 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/$OVL_LOWER +lowerdir=$OVL_BASE_SCRATCH_MNT/$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 9177acb3..3e2bc4eb 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/$OVL_LOWER +lowerdir=$OVL_BASE_SCRATCH_MNT/$OVL_LOWER mkdir -p $lowerdir _scratch_mount diff --git a/tests/overlay/020 b/tests/overlay/020 index 3cd0f051..de3816c2 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/$OVL_LOWER +lowerdir=$OVL_BASE_SCRATCH_MNT/$OVL_LOWER mkdir -p $lowerdir/dir _scratch_mount diff --git a/tests/overlay/021 b/tests/overlay/021 index c6d68aaa..1347f520 100755 --- a/tests/overlay/021 +++ b/tests/overlay/021 @@ -54,13 +54,13 @@ _scratch_mkfs # overlay copy_up doesn't deal with sparse file well, holes will be filled by # zeros, so for the worst case of hitting all the copy up bomb files, we need -# (64*(16+32+64+128)M) free space on $SCRATCH_DEV. +# (64*(16+32+64+128)M) free space on $OVL_BASE_SCRATCH_MNT. # However, triggering more than a total of 16 copy up bombs would require # really fast data copy (clone up doesn't take up space at all), so let's be # conservative and reserve space for 16 data copy ups per directory. -_require_fs_space $SCRATCH_DEV $((16*(16+32+64+128)*1024)) +_require_fs_space $OVL_BASE_SCRATCH_MNT $((16*(16+32+64+128)*1024)) -lowerdir=$SCRATCH_DEV/$OVL_LOWER +lowerdir=$OVL_BASE_SCRATCH_MNT/$OVL_LOWER mkdir -p $lowerdir testdir=arena diff --git a/tests/overlay/022 b/tests/overlay/022 index 46034eae..ef4d73f4 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/$OVL_UPPER +upperdir=$OVL_BASE_SCRATCH_MNT/$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 c855d16a..8da3c204 100755 --- a/tests/overlay/023 +++ b/tests/overlay/023 @@ -63,7 +63,7 @@ _require_scratch _scratch_mkfs # setting acls before mount -wkdir=$SCRATCH_DEV/$OVL_WORK +wkdir=$OVL_BASE_SCRATCH_MNT/$OVL_WORK mkdir -p $wkdir setfacl -d -m o::rwx $wkdir diff --git a/tests/overlay/024 b/tests/overlay/024 index 25195f72..75bd067c 100755 --- a/tests/overlay/024 +++ b/tests/overlay/024 @@ -61,7 +61,7 @@ _require_scratch _scratch_mkfs # making workdir -wkdir=$SCRATCH_DEV/$OVL_WORK +wkdir=$OVL_BASE_SCRATCH_MNT/$OVL_WORK mkdir -p $wkdir/work/foo _scratch_mount diff --git a/tests/overlay/027 b/tests/overlay/027 index 1c779561..10111b7e 100755 --- a/tests/overlay/027 +++ b/tests/overlay/027 @@ -63,7 +63,7 @@ _require_chattr _scratch_mkfs # Preparing immutable file -upperdir=$SCRATCH_DEV/$OVL_UPPER +upperdir=$OVL_BASE_SCRATCH_MNT/$OVL_UPPER mkdir -p $upperdir touch $upperdir/foo $CHATTR_PROG +i $upperdir/foo diff --git a/tests/overlay/028 b/tests/overlay/028 index ad610e21..4b8a3a1f 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/$OVL_LOWER +lowerdir=$OVL_BASE_SCRATCH_MNT/$OVL_LOWER mkdir -p $lowerdir touch $lowerdir/foo diff --git a/tests/overlay/029 b/tests/overlay/029 index 8dce6b33..2ac674f0 100755 --- a/tests/overlay/029 +++ b/tests/overlay/029 @@ -65,8 +65,8 @@ _require_scratch _scratch_mkfs # Preparing files -upperdir=$SCRATCH_DEV/$OVL_UPPER -lowerdir=$SCRATCH_DEV/$OVL_LOWER +upperdir=$OVL_BASE_SCRATCH_MNT/$OVL_UPPER +lowerdir=$OVL_BASE_SCRATCH_MNT/$OVL_LOWER mkdir -p $upperdir/up echo foo > $upperdir/up/foo mkdir -p $lowerdir/low