summaryrefslogtreecommitdiffstats
path: root/etc/init.d/zfs-mount.in
diff options
context:
space:
mode:
authorTurbo Fredriksson <[email protected]>2015-09-22 09:56:28 +0200
committerBrian Behlendorf <[email protected]>2015-09-29 11:42:24 -0700
commit57732964d35616d6c93b8377b1ed72c485d9d73d (patch)
treedb0d1ab021f7972f451dab29e714a8a797c899cc /etc/init.d/zfs-mount.in
parent45838e3a414a7a1a5fb49dc528dee1d22449599b (diff)
Init script fixes
* Fix regression - "OVERLAY_MOUNTS" should have been "DO_OVERLAY_MOUNTS". * Fix update-rc.d commands in postinst. Thanx to subzero79@GitHub. * Fix make sure a filesystem exists before trying to mount in mount_fs() * Fix local variable usage. * Fix to read_mtab(): * Strip control characters (space - \040) from /proc/mounts GLOBALY, not just first occurrence. * Don't replace unprintable characters ([/-. ]) for use in the variable name with underscore. No need, just remove them all together. * Add check_boolean() to check if a user configure option is set ('yes', 'Yes', 'YES' or any combination there of) OR '1'. Anything else is considered 'unset'. * Add a ZFS_POOL_IMPORT to the default config. * This is a semi colon separated list of pools to import ONLY. * This is intended for systems which have _a lot_ of pools (from a SAN for example) and it would be to many to put in the ZFS_POOL_EXCEPTIONS variable.. * Add a config option "ZPOOL_IMPORT_OPTS" for adding additional options to "zpool import". * Add documentation and the chance of overriding the ZPOOL_CACHE variable in the config file. * Remove "sort" from find_pools() and setup_snapshot_booting(). Sometimes not available, and not really necessary. Signed-off-by: Turbo Fredriksson <[email protected]> Signed-off-by: Brian Behlendorf <[email protected]> Signed-off-by: Ned Bass <[email protected]> Issue #3816
Diffstat (limited to 'etc/init.d/zfs-mount.in')
-rwxr-xr-xetc/init.d/zfs-mount.in34
1 files changed, 13 insertions, 21 deletions
diff --git a/etc/init.d/zfs-mount.in b/etc/init.d/zfs-mount.in
index 95aefd6d6..05cea9b88 100755
--- a/etc/init.d/zfs-mount.in
+++ b/etc/init.d/zfs-mount.in
@@ -67,8 +67,8 @@ do_mount()
{
local verbose overlay i mntpt val
- [ "$VERBOSE_MOUNT" = 'yes' ] && verbose=v
- [ "$OVERLAY_MOUNTS" = 'yes' ] && overlay=O
+ check_boolean "$VERBOSE_MOUNT" && verbose=v
+ check_boolean "$DO_OVERLAY_MOUNTS" && overlay=O
zfs_action "Mounting ZFS filesystem(s)" \
"$ZFS" mount -a$verbose$overlay "$MOUNT_EXTRA_OPTIONS"
@@ -78,7 +78,7 @@ do_mount()
# can get zfs-import to run sufficiently early on in the boot
# process - before local mounts. This is just here in case/if
# this isn't possible.
- [ "$VERBOSE_MOUNT" = 'yes' ] && \
+ check_boolean "$VERBOSE_MOUNT" && \
zfs_log_begin_msg "Mounting volumes and filesystems registered in fstab"
read_mtab "^/dev/(zd|zvol)"
@@ -90,7 +90,7 @@ do_mount()
dev=$(eval echo "$"FSTAB_dev_$i)
if ! in_mtab "$mntpt" && ! is_mounted "$mntpt" && [ -e "$dev" ]
then
- [ "$VERBOSE_MOUNT" = 'yes' ] && \
+ check_boolean "$VERBOSE_MOUNT" && \
zfs_log_progress_msg "$mntpt "
fsck "$dev" && mount "$mntpt"
fi
@@ -107,7 +107,7 @@ do_mount()
mntpt=$(eval echo "$""$var")
if ! in_mtab "$mntpt" && ! is_mounted "$mntpt"
then
- [ "$VERBOSE_MOUNT" = 'yes' ] && \
+ check_boolean "$VERBOSE_MOUNT" && \
zfs_log_progress_msg "$mntpt "
mount "$mntpt"
fi
@@ -115,7 +115,7 @@ do_mount()
i=$((i + 1))
var=$(eval echo FSTAB_$i)
done
- [ "$VERBOSE_MOUNT" = 'yes' ] && zfs_log_end_msg 0
+ check_boolean "$VERBOSE_MOUNT" && zfs_log_end_msg 0
return 0
}
@@ -131,7 +131,7 @@ do_unmount()
# this isn't possible.
zfs_action "Unmounting ZFS filesystems" "$ZFS" unmount -a
- [ "$VERBOSE_MOUNT" = 'yes' ] && \
+ check_boolean "$VERBOSE_MOUNT" && \
zfs_log_begin_msg "Unmounting volumes and filesystems registered in fstab"
read_mtab "^/dev/(zd|zvol)"
@@ -143,7 +143,7 @@ do_unmount()
dev=$(eval echo "$"FSTAB_dev_$i)
if in_mtab "$mntpt"
then
- [ "$VERBOSE_MOUNT" = 'yes' ] && \
+ check_boolean "$VERBOSE_MOUNT" && \
zfs_log_progress_msg "$mntpt "
umount "$mntpt"
fi
@@ -159,7 +159,7 @@ do_unmount()
do
mntpt=$(eval echo "$""$var")
if in_mtab "$mntpt"; then
- [ "$VERBOSE_MOUNT" = 'yes' ] && \
+ check_boolean "$VERBOSE_MOUNT" && \
zfs_log_progress_msg "$mntpt "
umount "$mntpt"
fi
@@ -167,20 +167,16 @@ do_unmount()
i=$((i + 1))
var=$(eval echo FSTAB_$i)
done
- [ "$VERBOSE_MOUNT" = 'yes' ] && zfs_log_end_msg 0
+ check_boolean "$VERBOSE_MOUNT" && zfs_log_end_msg 0
return 0
}
do_start()
{
- check_module_loaded "zfs" || exit 0
+ check_boolean "$ZFS_MOUNT" || exit 0
- case "$ZFS_MOUNT" in
- [Oo][Ff][Ff]|[Nn][Oo]|''|0)
- exit 3
- ;;
- esac
+ check_module_loaded "zfs" || exit 0
# Ensure / exists in /etc/mtab, if not update mtab accordingly.
# This should be handled by rc.sysinit but lets be paranoid.
@@ -194,11 +190,7 @@ do_start()
do_stop()
{
- case "$ZFS_UNMOUNT" in
- [Oo][Ff][Ff]|[Nn][Oo]|''|0)
- exit 0
- ;;
- esac
+ check_boolean "$ZFS_UNMOUNT" || exit 0
check_module_loaded "zfs" || exit 0