$SCRATCH_DEV $SCRATCH_MNT
}
+# helper function to do the actual overlayfs mount operation
+_overlay_mount_dirs()
+{
+ local lowerdir=$1
+ local upperdir=$2
+ local workdir=$3
+ shift 3
+
+ $MOUNT_PROG -t overlay -o lowerdir=$lowerdir -o upperdir=$upperdir \
+ -o workdir=$workdir $*
+}
+
# 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()
mkdir -p $dir/$OVERLAY_LOWER_DIR
mkdir -p $dir/$OVERLAY_WORK_DIR
- $MOUNT_PROG -t overlay $SELINUX_MOUNT_OPTIONS \
- -o lowerdir=$dir/$OVERLAY_LOWER_DIR \
- -o upperdir=$dir/$OVERLAY_UPPER_DIR \
- -o workdir=$dir/$OVERLAY_WORK_DIR \
- $OVERLAY_MOUNT_OPTIONS $* \
- $dir $mnt
+ _overlay_mount_dirs $dir/$OVERLAY_LOWER_DIR $dir/$OVERLAY_UPPER_DIR \
+ $dir/$OVERLAY_WORK_DIR $OVERLAY_MOUNT_OPTIONS \
+ $SELINUX_MOUNT_OPTIONS $* $dir $mnt
}
_overlay_test_mount()
>>$seqres.full 2>&1
# mount new overlayfs
-$MOUNT_PROG -t overlay $SELINUX_MOUNT_OPTIONS \
- -o lowerdir=$lowerd -o upperdir=$upperd \
- -o workdir=$workd \
- $SCRATCH_DEV $SCRATCH_MNT
+_overlay_mount_dirs $lowerd $upperd $workd $SCRATCH_DEV $SCRATCH_MNT
# the open call triggers copy-up and it will fail ENOSPC
$XFS_IO_PROG -f -c "o" ${SCRATCH_MNT}/test_file \
mknod $lowerdir2/testdir/a c 0 0
# Mount overlayfs and remove testdir, which led to kernel crash
-$MOUNT_PROG -t overlay -o lowerdir=$lowerdir2:$lowerdir1 \
- -o upperdir=$upperdir,workdir=$workdir \
- $SCRATCH_DEV $SCRATCH_MNT
+_overlay_mount_dirs "$lowerdir2:$lowerdir1" $upperdir $workdir \
+ $SCRATCH_DEV $SCRATCH_MNT
rm -rf $SCRATCH_MNT/testdir
# success, all done