search for: commandf

Displaying 20 results from an estimated 41 matches for "commandf".

Did you mean: command
2012 Dec 14
1
[PATCH] daemon: Add sentinel attribute to commandf and commandrf
...-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/daemon/daemon.h b/daemon/daemon.h index 8f932d2..df1ba3a 100644 --- a/daemon/daemon.h +++ b/daemon/daemon.h @@ -100,9 +100,9 @@ extern char **split_lines (char *str); #define COMMAND_FLAG_CHROOT_COPY_FILE_TO_STDIN 2048 extern int commandf (char **stdoutput, char **stderror, int flags, - const char *name, ...); + const char *name, ...) __attribute__((sentinel)); extern int commandrf (char **stdoutput, char **stderror, int flags, - const char *name, ...); +...
2012 Feb 06
2
[PATCH 1/2] Revert "daemon: Run udev_settle after pwrite-device finishes."
From: "Richard W.M. Jones" <rjones at redhat.com> This reverts commit a9c8123c72db47bcab8dd738e8d5256a9ae87f11. --- daemon/file.c | 18 +++--------------- daemon/parted.c | 3 +-- 2 files changed, 4 insertions(+), 17 deletions(-) diff --git a/daemon/file.c b/daemon/file.c index 057e15d..91746e0 100644 --- a/daemon/file.c +++ b/daemon/file.c @@ -525,7 +525,7 @@
2019 Apr 15
1
[PATCH] daemon: drop error message check in do_part_expand_gpt
...+++ b/daemon/parted.c @@ -699,26 +699,8 @@ do_part_expand_gpt(const char *device) { CLEANUP_FREE char *err = NULL; - /* If something is broken, sgdisk may try to correct it. - * (e.g. recreate partition table and so on). - * We do not want such behavior, so dry-run at first.*/ int r = commandf (NULL, &err, COMMAND_FLAG_FOLD_STDOUT_ON_STDERR, - "sgdisk", "--pretend", "-e", device, NULL); - - if (r == -1) { - reply_with_error ("%s --pretend -e %s: %s", "sgdisk", device, err); - return -1; - } - if (err &&...
2017 Mar 02
2
[PATCH] parted: add more udev_settle calls.
..."print", NULL); + + udev_settle (); + if (r == -1) { int errcode = 0; @@ -665,6 +670,8 @@ sgdisk_info_extract_field (const char *device, int partnum, const char *field, return NULL; } + udev_settle (); + CLEANUP_FREE char *err = NULL; int r = commandf (NULL, &err, COMMAND_FLAG_FOLD_STDOUT_ON_STDERR, str_sgdisk, device, "-i", partnum_str, NULL); @@ -674,6 +681,8 @@ sgdisk_info_extract_field (const char *device, int partnum, const char *field, return NULL; } + udev_settle (); + CLEANUP_FREE_STRING_L...
2016 Jan 18
1
[PATCH] New API: part_get_disk_guid and part_set_disk_guid.
..._get_mbr_part_type (const char *device, int partnum) reply_with_error ("strdup failed"); return NULL; } + +char * +do_part_get_disk_guid (const char *device) +{ + const char *pattern = "Disk identifier (GUID):"; + size_t i; + + CLEANUP_FREE char *err = NULL; + int r = commandf (NULL, &err, COMMAND_FLAG_FOLD_STDOUT_ON_STDERR, + str_sgdisk, device, "-p", NULL); + if (r == -1) { + reply_with_error ("%s %s -p: %s", str_sgdisk, device, err); + return NULL; + } + + CLEANUP_FREE_STRING_LIST char **lines = split_lines (err); +...
2015 Dec 01
3
[PATCHv2] New API: part_expand_gpt.
...failed"); return NULL; } + +int +do_part_expand_gpt(const char *device) +{ + CLEANUP_FREE char *err = NULL; + + /* If something is broken, sgdisk may try to correct it. + * (e.g. recreate partition table and so on). + * We do not want such behavior, so dry-run at first.*/ + int r = commandf (NULL, &err, COMMAND_FLAG_FOLD_STDOUT_ON_STDERR, + str_sgdisk, "--pretend", "-e", device, NULL); + + if (r == -1) { + reply_with_error ("%s --pretend -e %s: %s", str_sgdisk, device, err); + return -1; + } + if (err && strlen(err)...
2016 Jun 22
1
[PATCH] ext: change e2fsck retcode processing during resize
...,24 +192,18 @@ do_get_e2uuid (const char *device) static int if_not_mounted_run_e2fsck (const char *device) { - CLEANUP_FREE char *err = NULL; - int r, mounted; + int r = 0, mounted; mounted = is_device_mounted (device); if (mounted == -1) return -1; if (!mounted) { - r = commandf (NULL, &err, - COMMAND_FLAG_FOLD_STDOUT_ON_STDERR, - str_e2fsck, "-fy", device, NULL); - if (r == -1) { - reply_with_error ("%s", err); - return -1; - } + optargs_bitmask = GUESTFS_E2FSCK_FORCEALL_BITMASK; + r = do_e2fs...
2016 Jan 19
4
[PATCHv2 0/3] Get/set disk GPT GUID API and support in virt-resize.
Some OSes (e.g. Windows Server 2012 R2) fail to boot after virt-resize due to changed disk guid. To fix it, we add new APIs: part_get_disk_guid part_set_disk_guid part_set_disk_guid_random We also preserve disk GUID in virt-resize. Maxim Perevedentsev (3): New API: part_get_disk_guid and part_set_disk_guid. New API: part_set_disk_guid_random. resize: preserve GPT disk GUID.
2016 Jan 19
0
[PATCHv2 1/3] New API: part_get_disk_guid and part_set_disk_guid.
..._get_mbr_part_type (const char *device, int partnum) reply_with_error ("strdup failed"); return NULL; } + +char * +do_part_get_disk_guid (const char *device) +{ + const char *pattern = "Disk identifier (GUID):"; + size_t i; + + CLEANUP_FREE char *err = NULL; + int r = commandf (NULL, &err, COMMAND_FLAG_FOLD_STDOUT_ON_STDERR, + str_sgdisk, device, "-p", NULL); + if (r == -1) { + reply_with_error ("%s %s -p: %s", str_sgdisk, device, err); + return NULL; + } + + CLEANUP_FREE_STRING_LIST char **lines = split_lines (err); +...
2015 Nov 25
1
[PATCH] New API: part_expand_gpt.
...failed"); return NULL; } + +int +do_part_expand_gpt(const char *device) +{ + CLEANUP_FREE char *err = NULL; + + /* If something is broken, sgdisk may try to correct it. + * (e.g. recreate partition table and so on). + * We do not want such behavior, so dry-run at first.*/ + int r = commandf (NULL, &err, COMMAND_FLAG_FOLD_STDOUT_ON_STDERR, + str_sgdisk, "--pretend", "-e", device, NULL); + + if (r == -1) { + reply_with_error ("%s --pretend -e %s: %s", str_sgdisk, device, err); + return -1; + } + if (err && strlen(err)...
2016 Jan 21
0
[PATCH v3 2/6] daemon: Split out command() functions and CLEANUP_* macros into separate files.
...size_t sysroot_len; + +#ifndef MAX +# define MAX(a,b) ((a)>(b)?(a):(b)) +#endif + +/* For improved readability dealing with pipe arrays */ +#define PIPE_READ 0 +#define PIPE_WRITE 1 + +/* Easy ways to run external commands. For full documentation, see + * 'commandrvf' below. + */ +int +commandf (char **stdoutput, char **stderror, unsigned flags, + const char *name, ...) +{ + va_list args; + /* NB: Mustn't free the strings which are on the stack. */ + CLEANUP_FREE const char **argv = NULL; + char *s; + size_t i; + int r; + + /* Collect the command line arguments into an...
2015 Dec 22
0
Re: [PATCHv2] New API: part_expand_gpt.
...t > +do_part_expand_gpt(const char *device) > +{ > + CLEANUP_FREE char *err = NULL; > + > + /* If something is broken, sgdisk may try to correct it. > + * (e.g. recreate partition table and so on). > + * We do not want such behavior, so dry-run at first.*/ > + int r = commandf (NULL, &err, COMMAND_FLAG_FOLD_STDOUT_ON_STDERR, > + str_sgdisk, "--pretend", "-e", device, NULL); > + > + if (r == -1) { > + reply_with_error ("%s --pretend -e %s: %s", str_sgdisk, device, err); > + return -1; > + } &gt...
2015 Dec 02
3
[PATCH] daemon: improve internal commandrvf
.../daemon/daemon.h @@ -128,6 +128,7 @@ extern char **empty_list (void); #define COMMAND_FLAG_FD_MASK (1024-1) #define COMMAND_FLAG_FOLD_STDOUT_ON_STDERR 1024 #define COMMAND_FLAG_CHROOT_COPY_FILE_TO_STDIN 2048 +#define COMMAND_FLAG_DO_CHROOT 4096 extern int commandf (char **stdoutput, char **stderror, int flags, const char *name, ...) __attribute__((sentinel)); diff --git a/daemon/guestfsd.c b/daemon/guestfsd.c index 0a29aa6..47245f7 100644 --- a/daemon/guestfsd.c +++ b/daemon/guestfsd.c @@ -932,21 +932,44 @@ commandrvf (char **stdoutput,...
2016 Jan 20
1
[PATCHv2] New API: part_expand_gpt.
...nst char *device) return 0; } + +int +do_part_expand_gpt(const char *device) +{ + CLEANUP_FREE char *err = NULL; + + /* If something is broken, sgdisk may try to correct it. + * (e.g. recreate partition table and so on). + * We do not want such behavior, so dry-run at first.*/ + int r = commandf (NULL, &err, COMMAND_FLAG_FOLD_STDOUT_ON_STDERR, + str_sgdisk, "--pretend", "-e", device, NULL); + + if (r == -1) { + reply_with_error ("%s --pretend -e %s: %s", str_sgdisk, device, err); + return -1; + } + if (err && strlen(err)...
2017 Jul 27
0
[PATCH v2] daemon: Remove GUESTFSD_EXT_CMD.
...-GUESTFSD_EXT_CMD(str_parted, parted); -GUESTFSD_EXT_CMD(str_sfdisk, sfdisk); -GUESTFSD_EXT_CMD(str_sgdisk, sgdisk); - /* Notes: * * Parted 1.9 sends error messages to stdout, hence use of the @@ -88,7 +84,7 @@ do_part_init (const char *device, const char *parttype) udev_settle (); r = commandf (NULL, &err, COMMAND_FLAG_FOLD_STDOUT_ON_STDERR, - str_parted, "-s", "--", device, "mklabel", parttype, NULL); + "parted", "-s", "--", device, "mklabel", parttype, NULL); if (r == -1) { r...
2017 Jul 29
5
[PATCH 1/1] New partition API: part_resize
...if (partnum <= 0) { + reply_with_error ("partition number must be >= 1"); + return -1; + } + + snprintf (partnum_str, sizeof partnum_str, "%d", partnum); + snprintf (endstr, sizeof endstr, "%" PRIi64 "s", endsect); + + udev_settle (); + + r = commandf (NULL, &err, COMMAND_FLAG_FOLD_STDOUT_ON_STDERR, + "parted", "-s", "--", device, "resizepart", partnum_str, + endstr, NULL); + if (r == -1) { + reply_with_error ("parted: %s: %s:", device, err); + return -1;...
2017 Jul 24
0
[PATCH 2/2] daemon: Replace GUESTFSD_EXT_CMD with --print-external-commands.
...rted, parted); -GUESTFSD_EXT_CMD(str_sfdisk, sfdisk); -GUESTFSD_EXT_CMD(str_sgdisk, sgdisk); +DECLARE_EXTERNAL_COMMANDS ("parted", "sfdisk", "sgdisk") /* Notes: * @@ -88,7 +86,7 @@ do_part_init (const char *device, const char *parttype) udev_settle (); r = commandf (NULL, &err, COMMAND_FLAG_FOLD_STDOUT_ON_STDERR, - str_parted, "-s", "--", device, "mklabel", parttype, NULL); + "parted", "-s", "--", device, "mklabel", parttype, NULL); if (r == -1) { r...
2015 Oct 05
0
Re: [PATCH] Remove multiple hacks that only apply to RHEL 5.
...> - > - /* Upstream util-linux have been gradually changing '--help' to go > - * from stderr to stdout, and changing the return code from 1 to 0. > - * Thus we need to fold stdout and stderr together, and ignore the > - * return code. > - */ > - ignore_value (commandf (NULL, &err, COMMAND_FLAG_FOLD_STDOUT_ON_STDERR, > - str_mkswap, "--help", NULL)); > - > - av = strstr (err, "-U") != NULL; > - return av; > + return 1; > } If the "linuxfsuuid" is now always available, then it could...
2016 Jan 19
0
[PATCHv2 2/3] New API: part_set_disk_guid_random.
....c b/daemon/parted.c index 40f9676..22cd92b 100644 --- a/daemon/parted.c +++ b/daemon/parted.c @@ -988,3 +988,18 @@ do_part_set_disk_guid (const char *device, const char *guid) return 0; } + +int +do_part_set_disk_guid_random (const char *device) +{ + CLEANUP_FREE char *err = NULL; + int r = commandf (NULL, &err, COMMAND_FLAG_FOLD_STDOUT_ON_STDERR, + str_sgdisk, device, "-U", "R", NULL); + + if (r == -1) { + reply_with_error ("%s %s -U R: %s", str_sgdisk, device, err); + return -1; + } + + return 0; +} diff --git a/generator/actions....
2017 Jul 30
0
Re: [PATCH 1/1] New partition API: part_resize
...("partition number must be >= 1"); > + return -1; > + } > + > + snprintf (partnum_str, sizeof partnum_str, "%d", partnum); > + snprintf (endstr, sizeof endstr, "%" PRIi64 "s", endsect); > + > + udev_settle (); > + > + r = commandf (NULL, &err, COMMAND_FLAG_FOLD_STDOUT_ON_STDERR, > + "parted", "-s", "--", device, "resizepart", partnum_str, > + endstr, NULL); > + if (r == -1) { > + reply_with_error ("parted: %s: %s:", device, er...