summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys-utils/swapon.82
-rw-r--r--sys-utils/swapon.c6
2 files changed, 3 insertions, 5 deletions
diff --git a/sys-utils/swapon.8 b/sys-utils/swapon.8
index e571a5fb0..299da2282 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 645a01d42..561b1a967 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 <sys/swap.h>
#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 */