From f1bc59963fb2cf755fa1373c4f86fe8a6bdc2bf8 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Sun, 12 Apr 2015 05:06:52 -0400 Subject: [PATCH] swapon: search for mkswap via PATH Rather than hardcode /sbin/mkswap all the time, use a normal PATH search. This matches the normal behavior of other tools, and makes local testing easier. Signed-off-by: Mike Frysinger --- sys-utils/swapon.8 | 2 +- sys-utils/swapon.c | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/sys-utils/swapon.8 b/sys-utils/swapon.8 index e571a5fb0b..299da2282d 100644 --- a/sys-utils/swapon.8 +++ b/sys-utils/swapon.8 @@ -108,7 +108,7 @@ may also be used to skip non-existing device. .TP .BR \-f , " \-\-fixpgsz" -Reinitialize (exec /sbin/mkswap) the swap space if its page size does not +Reinitialize (exec mkswap) the swap space if its page size does not match that of the current running kernel. .BR mkswap (2) initializes the whole device and does not check for bad blocks. diff --git a/sys-utils/swapon.c b/sys-utils/swapon.c index 645a01d423..561b1a9671 100644 --- a/sys-utils/swapon.c +++ b/sys-utils/swapon.c @@ -28,8 +28,6 @@ #include "swapprober.h" #include "swapon-common.h" -#define PATH_MKSWAP "/sbin/mkswap" - #ifdef HAVE_SYS_SWAP_H # include #endif @@ -303,7 +301,7 @@ static int swap_reinitialize(const char *device, return -1; case 0: /* child */ - cmd[idx++] = PATH_MKSWAP; + cmd[idx++] = "mkswap"; if (label && *label) { cmd[idx++] = "-L"; cmd[idx++] = (char *) label; @@ -314,7 +312,7 @@ static int swap_reinitialize(const char *device, } cmd[idx++] = (char *) device; cmd[idx++] = NULL; - execv(cmd[0], cmd); + execvp(cmd[0], cmd); err(EXIT_FAILURE, _("failed to execute %s"), cmd[0]); default: /* parent */ -- 2.47.3