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;
> + }
>...
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...