Quote variables in the zfs.lsb script.
authorDarik Horn <dajhorn@vanadac.com>
Sun, 4 Dec 2011 21:32:18 +0000 (15:32 -0600)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Mon, 5 Dec 2011 17:51:55 +0000 (09:51 -0800)
For consistency and safety, quote all variables in the zfs.lsb script.
This protects in the unlikely case that any of the file names contain
whitespace.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Issue #439

etc/init.d/zfs.lsb.in

index 57aaf1e..3d04206 100644 (file)
@@ -31,14 +31,14 @@ ZPOOL="@sbindir@/zpool"
 ZPOOL_CACHE="@sysconfdir@/zfs/zpool.cache"
 
 # Source zfs configuration.
-[ -r /etc/default/zfs ] &&  . /etc/default/zfs
+[ -r '/etc/default/zfs' ] &&  . /etc/default/zfs
 
-[ -x $ZPOOL ] || exit 1
-[ -x $ZFS ] || exit 2
+[ -x "$ZPOOL" ] || exit 1
+[ -x "$ZFS" ] || exit 2
 
 start()
 {
-       [ -f $LOCKFILE ] && return 3
+       [ -f "$LOCKFILE" ] && return 3
 
        # Requires selinux policy which has not been written.
        if [ -r "/selinux/enforce" ] &&
@@ -58,45 +58,45 @@ start()
        # This should be handled by rc.sysinit but lets be paranoid.
        awk '$2 == "/" { exit 1 }' /etc/mtab
        RETVAL=$?
-       if [ $RETVAL -eq 0 ]; then
+       if [ "$RETVAL" -eq 0 ]; then
                /bin/mount -f /
        fi
 
        # Import all pools described by the cache file, and then mount
        # all filesystem based on their properties.
-       if [ -f $ZPOOL_CACHE ] ; then
+       if [ -f "$ZPOOL_CACHE" ] ; then
                log_begin_msg "Importing ZFS pools"
-               $ZPOOL import -c $ZPOOL_CACHE -aN 2>/dev/null
+               "$ZPOOL" import -c "$ZPOOL_CACHE" -aN 2>/dev/null
                log_end_msg $?
 
                log_begin_msg "Mounting ZFS filesystems"
-               $ZFS mount -a
+               "$ZFS" mount -a
                log_end_msg $?
 
                log_begin_msg "Exporting ZFS filesystems"
-               $ZFS share -a
+               "$ZFS" share -a
                log_end_msg $?
        fi
 
-       touch $LOCKFILE
+       touch "$LOCKFILE"
 }
 
 stop()
 {
-       [ ! -f $LOCKFILE ] && return 3
+       [ ! -f "$LOCKFILE" ] && return 3
 
        log_begin_msg "Unmounting ZFS filesystems"
-       $ZFS umount -a
+       "$ZFS" umount -a
        log_end_msg $?
 
-       rm -f $LOCKFILE
+       rm -f "$LOCKFILE"
 }
 
 status()
 {
-       [ ! -f $LOCKFILE ] && return 3
+       [ ! -f "$LOCKFILE" ] && return 3
 
-       $ZPOOL status && echo && $ZPOOL list
+       "$ZPOOL" status && echo "" && "$ZPOOL" list
 }
 
 case "$1" in
@@ -117,7 +117,7 @@ case "$1" in
                start
                ;;
        condrestart)
-               if [ -f $LOCKFILE ]; then
+               if [ -f "$LOCKFILE" ]; then
                        stop
                        start
                fi