factor out helpers _overlay_base_mount() and _overlay_base_umount() to reduce code duplication. Signed-off-by: Amir Goldstein <amir73il@xxxxxxxxx> --- Eryu, Appologies for the rolling series, but since you said you are looking into re-factoring mount option handling, I figured you may want to take this additional cleanup as well. Beyond reducing code duplication, this change puts the difference in mount options for base test fs and base scratch fs in wrapper functions and leaves the common code free of those differences. Amir. common/overlay | 66 ++++++++++++++++++++++++++-------------------------------- 1 file changed, 29 insertions(+), 37 deletions(-) diff --git a/common/overlay b/common/overlay index c3bb9ee..79097ba 100644 --- a/common/overlay +++ b/common/overlay @@ -53,23 +53,31 @@ _overlay_mount() $* $dir $mnt } -_overlay_base_test_mount() +_overlay_base_mount() { - if [ -z "$OVL_BASE_TEST_DEV" -o -z "$OVL_BASE_TEST_DIR" ] || \ - _check_mounted_on OVL_BASE_TEST_DEV $OVL_BASE_TEST_DEV \ - OVL_BASE_TEST_DIR $OVL_BASE_TEST_DIR - then + local devname=$1 + local mntname=$2 + local dev=$3 + local mnt=$4 + shift 4 + + if [ -z "$dev" -o -z "$mnt" ] || \ + _check_mounted_on $devname $dev $mntname $mnt; then # no base fs or already mounted return 0 - elif [ $? -ne 1 ] - then + elif [ $? -ne 1 ]; then # base fs mounted but not on mount point return 1 fi - _mount $TEST_FS_MOUNT_OPTS \ - $SELINUX_MOUNT_OPTIONS \ - $OVL_BASE_TEST_DEV $OVL_BASE_TEST_DIR + _mount $* $dev $mnt +} + +_overlay_base_test_mount() +{ + _overlay_base_mount OVL_BASE_TEST_DEV OVL_BASE_TEST_DIR \ + "$OVL_BASE_TEST_DEV" "$OVL_BASE_TEST_DIR" \ + $TEST_FS_MOUNT_OPTS $SELINUX_MOUNT_OPTIONS } _overlay_test_mount() @@ -80,28 +88,9 @@ _overlay_test_mount() _overlay_base_scratch_mount() { - if [ -z "$OVL_BASE_SCRATCH_DEV" -o -z "$OVL_BASE_SCRATCH_MNT" ] || \ - _check_mounted_on OVL_BASE_SCRATCH_DEV $OVL_BASE_SCRATCH_DEV \ - OVL_BASE_SCRATCH_MNT $OVL_BASE_SCRATCH_MNT - then - # no base fs or already mounted - return 0 - elif [ $? -ne 1 ] - then - # base fs mounted but not on mount point - return 1 - fi - - _mount $OVL_BASE_MOUNT_OPTIONS \ - $SELINUX_MOUNT_OPTIONS \ - $OVL_BASE_SCRATCH_DEV $OVL_BASE_SCRATCH_MNT -} - -_overlay_base_scratch_unmount() -{ - [ -n "$OVL_BASE_SCRATCH_DEV" -a -n "$OVL_BASE_SCRATCH_MNT" ] || return 0 - - $UMOUNT_PROG $OVL_BASE_SCRATCH_MNT + _overlay_base_mount OVL_BASE_SCRATCH_DEV OVL_BASE_SCRATCH_MNT \ + "$OVL_BASE_SCRATCH_DEV" "$OVL_BASE_SCRATCH_MNT" \ + $OVL_BASE_MOUNT_OPTIONS $SELINUX_MOUNT_OPTIONS } _overlay_scratch_mount() @@ -110,23 +99,26 @@ _overlay_scratch_mount() _overlay_mount $OVL_BASE_SCRATCH_MNT $SCRATCH_MNT $* } -_overlay_base_test_unmount() +_overlay_base_unmount() { - [ -n "$OVL_BASE_TEST_DEV" -a -n "$OVL_BASE_TEST_DIR" ] || return 0 + local dev=$1 + local mnt=$2 + + [ -n "$dev" -a -n "$mnt" ] || return 0 - $UMOUNT_PROG $OVL_BASE_TEST_DIR + $UMOUNT_PROG $mnt } _overlay_test_unmount() { $UMOUNT_PROG $TEST_DIR - _overlay_base_test_unmount + _overlay_base_unmount "$OVL_BASE_TEST_DEV" "$OVL_BASE_TEST_DIR" } _overlay_scratch_unmount() { $UMOUNT_PROG $SCRATCH_MNT - _overlay_base_scratch_unmount + _overlay_base_unmount "$OVL_BASE_SCRATCH_DEV" "$OVL_BASE_SCRATCH_MNT" } # Require a specific overlayfs feature -- 2.7.4 -- 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