diff options
author | Turbo Fredriksson <[email protected]> | 2015-09-22 09:56:28 +0200 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2015-09-29 11:42:24 -0700 |
commit | 57732964d35616d6c93b8377b1ed72c485d9d73d (patch) | |
tree | db0d1ab021f7972f451dab29e714a8a797c899cc /etc/init.d/zfs-functions.in | |
parent | 45838e3a414a7a1a5fb49dc528dee1d22449599b (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.in | 17 |
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. |