Factor out helper for create an leftover whiteout, this is common to repeat test of whiteout check in different underlaying directories. Signed-off-by: zhangyi (F) <yi.zhang@xxxxxxxxxx> Reviewed-by: Amir Goldstein <amir73il@xxxxxxxxx> --- tests/overlay/031 | 38 +++++++++++++++++++++++--------------- 1 file changed, 23 insertions(+), 15 deletions(-) diff --git a/tests/overlay/031 b/tests/overlay/031 index 674c11f..cb29ee5 100755 --- a/tests/overlay/031 +++ b/tests/overlay/031 @@ -38,6 +38,20 @@ _cleanup() rm -f $tmp.* } +# create test directory and test file, mount overlayfs and remove +# testfile to create a whiteout in upper dir. +_create_whiteout() +{ + mkdir -p $1/testdir + touch $1/testdir/$4 + + _overlay_mount_dirs $1 $2 $3 $OVL_BASE_SCRATCH_MNT $SCRATCH_MNT + + rm -f $SCRATCH_MNT/testdir/$4 + + $UMOUNT_PROG $SCRATCH_MNT +} + # get standard environment, filters and checks . ./common/rc . ./common/filter @@ -52,26 +66,20 @@ _require_scratch # remove all files from previous runs _scratch_mkfs -# create test directory and test file -lowerdir=$OVL_BASE_SCRATCH_MNT/$OVL_LOWER -upperdir=$OVL_BASE_SCRATCH_MNT/$OVL_UPPER -workdir=$OVL_BASE_SCRATCH_MNT/$OVL_WORK -mkdir -p $lowerdir/testdir -touch $lowerdir/testdir/a - -# mount overlayfs and remove testfile to create a whiteout -_scratch_mount +# create test directorys and whiteout +lowerdir=$OVL_BASE_SCRATCH_MNT/lower +upperdir=$OVL_BASE_SCRATCH_MNT/upper +workdir=$OVL_BASE_SCRATCH_MNT/workdir +testfile=a +mkdir -p $lowerdir $upperdir $workdir -rm -f $SCRATCH_MNT/testdir/a - -# unmount overlayfs but not base fs -$UMOUNT_PROG $SCRATCH_MNT +_create_whiteout $lowerdir $upperdir $workdir $testfile # clean up the lower directory and mount overlay again, # whiteout will expose. rm -rf $lowerdir/testdir -_scratch_mount +_overlay_mount_dirs $lowerdir $upperdir $workdir $OVL_BASE_SCRATCH_MNT $SCRATCH_MNT ls $SCRATCH_MNT/testdir @@ -84,7 +92,7 @@ rm -rf $SCRATCH_MNT/testdir 2>&1 | _filter_scratch $UMOUNT_PROG $SCRATCH_MNT touch $lowerdir/testdir -_scratch_mount +_overlay_mount_dirs $lowerdir $upperdir $workdir $OVL_BASE_SCRATCH_MNT $SCRATCH_MNT # try to remove test dir from overlay dir, trigger ovl_remove_and_whiteout, # it will not clean up the dir and lead to residue. -- 2.5.0 -- To unsubscribe from this list: send the line "unsubscribe linux-unionfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html