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 3cece9ba4b3..178637800e5 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 0034e02ba26..01a7731f7ec 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 0d0ffb4c42a..24641485dc2 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 3cf79cea03c..7a51104c264 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 fb5187f0529..227787d2239 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