diff options
author | Brian Behlendorf <behlendorf1@llnl.gov> | 2010-07-01 16:20:11 -0700 |
---|---|---|
committer | Brian Behlendorf <behlendorf1@llnl.gov> | 2010-07-01 16:38:08 -0700 |
commit | 1814251453c8140f50170ad29d9105c1273d7e08 (patch) | |
tree | 07b48a17d82723d276f04c0c0ab03c16e65b3df5 | |
parent | 7119bf704490bcb9abca9fa80214313024d381a2 (diff) |
Require gawk the usermode helper fails with awk
For some reason when awk invoked by the usermode helper the command
always fails. Interestingly gawk does not suffer from this problem
which is why I never observed this failure since the distro I tested
with all had gawk installed instead of awk. Anyway, the simplest
thing to do here is to just make gawk mandatory. I've added a
configure check for gawk specifically and have updated the command
to call gawk not awk.
-rw-r--r-- | config/spl-build.m4 | 11 | ||||
-rwxr-xr-x | configure | 30 | ||||
-rw-r--r-- | module/spl/spl-generic.c | 2 |
3 files changed, 39 insertions, 4 deletions
diff --git a/config/spl-build.m4 b/config/spl-build.m4 index 40f072bf7..4d6109a0e 100644 --- a/config/spl-build.m4 +++ b/config/spl-build.m4 @@ -191,7 +191,16 @@ AC_DEFUN([SPL_AC_KERNEL], [ dnl # dnl # Default SPL user configuration dnl # -AC_DEFUN([SPL_AC_CONFIG_USER], []) +AC_DEFUN([SPL_AC_CONFIG_USER], [ + dnl # Explicitly check for gawk, we require it for the the usermode + dnl # helper. For some reason the standard awk command does not + dnl # behave correctly when invoked from the usermode helper. + AS_IF([test "x$AWK" != xgawk], [ + AC_MSG_ERROR([ + *** Required util gawk missing. Please install the required + *** gawk package for your distribution and try again.]) + ]) +]) AC_DEFUN([SPL_AC_LICENSE], [ AC_MSG_CHECKING([spl license]) @@ -14988,7 +14988,20 @@ _ACEOF ;; - user) ;; + user) + if test "x$AWK" != xgawk; then + + { { $as_echo "$as_me:$LINENO: error: + *** Required util gawk missing. Please install the required + *** gawk package for your distribution and try again." >&5 +$as_echo "$as_me: error: + *** Required util gawk missing. Please install the required + *** gawk package for your distribution and try again." >&2;} + { (exit 1); exit 1; }; } + +fi + + ;; all) @@ -18501,7 +18514,20 @@ _ACEOF - ;; + + if test "x$AWK" != xgawk; then + + { { $as_echo "$as_me:$LINENO: error: + *** Required util gawk missing. Please install the required + *** gawk package for your distribution and try again." >&5 +$as_echo "$as_me: error: + *** Required util gawk missing. Please install the required + *** gawk package for your distribution and try again." >&2;} + { (exit 1); exit 1; }; } + +fi + + ;; srpm) ;; *) { $as_echo "$as_me:$LINENO: result: Error!" >&5 diff --git a/module/spl/spl-generic.c b/module/spl/spl-generic.c index 956be6882..b9ab7109a 100644 --- a/module/spl/spl-generic.c +++ b/module/spl/spl-generic.c @@ -338,7 +338,7 @@ EXPORT_SYMBOL(zone_get_hostid); * the requested address. */ #define GET_KALLSYMS_ADDR_CMD \ - "awk '{ if ( $3 == \"kallsyms_lookup_name\") { print $1 } }' " \ + "gawk '{ if ( $3 == \"kallsyms_lookup_name\") { print $1 } }' " \ "/proc/kallsyms >/proc/sys/kernel/spl/kallsyms_lookup_name" static int |