From 760ec997dfde8cf7dcbe1f367456423668e0cf76 Mon Sep 17 00:00:00 2001 From: Matthew Thode Date: Wed, 6 Nov 2013 16:56:50 -0600 Subject: [PATCH] Updating init scripts to have more robust grepping The previous pattern could accidentally match on things like 'real_root=ZFS=node02-zp00/ROOT/rootfs' due to the 'ZFS=no' substring. Signed-off-by: Matthew Thode Signed-off-by: Brian Behlendorf Closes #1837 --- etc/init.d/zfs.fedora.in | 2 +- etc/init.d/zfs.gentoo.in | 2 +- etc/init.d/zfs.lsb.in | 2 +- etc/init.d/zfs.lunar.in | 2 +- etc/init.d/zfs.redhat.in | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/etc/init.d/zfs.fedora.in b/etc/init.d/zfs.fedora.in index 3cece9ba4..178637800 100644 --- a/etc/init.d/zfs.fedora.in +++ b/etc/init.d/zfs.fedora.in @@ -27,7 +27,7 @@ export PATH=/usr/local/sbin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin if [ -z "$init" ]; then # Not interactive - grep -Eqi 'zfs=off|zfs=no' /proc/cmdline && exit 3 + grep -qE '(^|[^\\](\\\\)* )zfs=(off|no)( |$)' /proc/cmdline && exit 3 fi # Source function library & LSB routines diff --git a/etc/init.d/zfs.gentoo.in b/etc/init.d/zfs.gentoo.in index 0034e02ba..01a7731f7 100644 --- a/etc/init.d/zfs.gentoo.in +++ b/etc/init.d/zfs.gentoo.in @@ -5,7 +5,7 @@ if [ -z "$init" ]; then # Not interactive - grep -Eqi 'zfs=off|zfs=no' /proc/cmdline && exit 3 + grep -qE '(^|[^\\](\\\\)* )zfs=(off|no)( |$)' /proc/cmdline && exit 3 fi depend() diff --git a/etc/init.d/zfs.lsb.in b/etc/init.d/zfs.lsb.in index 0d0ffb4c4..24641485d 100644 --- a/etc/init.d/zfs.lsb.in +++ b/etc/init.d/zfs.lsb.in @@ -38,7 +38,7 @@ ZPOOL_CACHE="@sysconfdir@/zfs/zpool.cache" if [ -z "$init" ]; then # Not interactive - grep -Eqi 'zfs=off|zfs=no' /proc/cmdline && exit 3 + grep -qE '(^|[^\\](\\\\)* )zfs=(off|no)( |$)' /proc/cmdline && exit 3 fi start() diff --git a/etc/init.d/zfs.lunar.in b/etc/init.d/zfs.lunar.in index 3cf79cea0..7a51104c2 100644 --- a/etc/init.d/zfs.lunar.in +++ b/etc/init.d/zfs.lunar.in @@ -16,7 +16,7 @@ ZPOOL_CACHE="@sysconfdir@/zfs/zpool.cache" if [ -z "$init" ]; then # Not interactive - grep -Eqi 'zfs=off|zfs=no' /proc/cmdline && exit 3 + grep -qE '(^|[^\\](\\\\)* )zfs=(off|no)( |$)' /proc/cmdline && exit 3 fi case $1 in diff --git a/etc/init.d/zfs.redhat.in b/etc/init.d/zfs.redhat.in index fb5187f05..227787d22 100644 --- a/etc/init.d/zfs.redhat.in +++ b/etc/init.d/zfs.redhat.in @@ -27,7 +27,7 @@ export PATH=/usr/local/sbin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin if [ -z "$init" ]; then # Not interactive - grep -Eqi 'zfs=off|zfs=no' /proc/cmdline && exit 3 + grep -qE '(^|[^\\](\\\\)* )zfs=(off|no)( |$)' /proc/cmdline && exit 3 fi # Source function library & LSB routines