aboutsummaryrefslogtreecommitdiffstats
path: root/etc/init.d/zfs-functions.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-functions.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-functions.in')
-rw-r--r--etc/init.d/zfs-functions.in17
1 files changed, 13 insertions, 4 deletions
diff --git a/etc/init.d/zfs-functions.in b/etc/init.d/zfs-functions.in
index 95b0a2997..acfdf9926 100644
--- a/etc/init.d/zfs-functions.in
+++ b/etc/init.d/zfs-functions.in
@@ -310,6 +310,15 @@ get_root_pool()
[ "$5" = "zfs" ] && echo "${1%%/*}"
}
+# Check if a variable is 'yes' (any case) or '1'
+# Returns TRUE if set.
+check_boolean()
+{
+ local var="$1"
+
+ echo "$var" | grep -Eiq "^yes$|^on$|^true$|^1$" && return 0 || return 1
+}
+
check_module_loaded()
{
module="$1"
@@ -348,12 +357,12 @@ read_mtab()
# * We need to use the external echo, because the
# internal one would interpret the backslash code
# (incorrectly), giving us a  instead.
- mntpnt=$(/bin/echo "$mntpnt" | sed "s,\\\0,\\\00,")
+ mntpnt=$(/bin/echo "$mntpnt" | sed "s,\\\0,\\\00,g")
fs=$(/bin/echo "$fs" | sed "s,\\\0,\\\00,")
- # Replace 'unwanted' characters with underscore.
- mntpnt=$(printf '%b\n' "$mntpnt" | sed -e 's,/,_,g' \
- -e 's,-,_,g' -e 's,\.,_,g' -e 's, ,_,g')
+ # Remove 'unwanted' characters.
+ mntpnt=$(printf '%b\n' "$mntpnt" | sed -e 's,/,,g' \
+ -e 's,-,,g' -e 's,\.,,g' -e 's, ,,g')
fs=$(printf '%b\n' "$fs")
# Set the variable.