X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=daemon%2Fscrub.c;h=573385f063c574456ca2dc875a3bef4089cf1748;hp=6e205a01ad4369ad828f4a9d53c21bac013058aa;hb=e44cf42f362d793c47d892a18a6853d88abd6ecb;hpb=78029b529ad98769685d607230b70f71832d5906 diff --git a/daemon/scrub.c b/daemon/scrub.c index 6e205a0..573385f 100644 --- a/daemon/scrub.c +++ b/daemon/scrub.c @@ -26,18 +26,23 @@ #include "daemon.h" #include "actions.h" +#include "optgroups.h" int -do_scrub_device (char *device) +optgroup_scrub_available (void) +{ + return prog_exists ("scrub"); +} + +int +do_scrub_device (const char *device) { char *err; int r; - IS_DEVICE (device, -1); - r = command (NULL, &err, "scrub", device, NULL); if (r == -1) { - reply_with_error ("scrub_device: %s: %s", device, err); + reply_with_error ("%s: %s", device, err); free (err); return -1; } @@ -48,15 +53,12 @@ do_scrub_device (char *device) } int -do_scrub_file (char *file) +do_scrub_file (const char *file) { char *buf; char *err; int r; - NEED_ROOT (-1); - ABS_PATH (file, -1); - /* Make the path relative to /sysroot. */ buf = sysroot_path (file); if (!buf) { @@ -67,7 +69,7 @@ do_scrub_file (char *file) r = command (NULL, &err, "scrub", "-r", buf, NULL); free (buf); if (r == -1) { - reply_with_error ("scrub_file: %s: %s", file, err); + reply_with_error ("%s: %s", file, err); free (err); return -1; } @@ -78,15 +80,12 @@ do_scrub_file (char *file) } int -do_scrub_freespace (char *dir) +do_scrub_freespace (const char *dir) { char *buf; char *err; int r; - NEED_ROOT (-1); - ABS_PATH (dir, -1); - /* Make the path relative to /sysroot. */ buf = sysroot_path (dir); if (!buf) { @@ -97,7 +96,7 @@ do_scrub_freespace (char *dir) r = command (NULL, &err, "scrub", "-X", buf, NULL); free (buf); if (r == -1) { - reply_with_error ("scrub_freespace: %s: %s", dir, err); + reply_with_error ("%s: %s", dir, err); free (err); return -1; }