int r;
if (!strstr (err,
- "Error informing the kernel about modifications to partition"))
+ "Error informing the kernel about modifications to partition"))
return -1;
r = command (NULL, NULL, "/sbin/blockdev", "--rereadpt", device, NULL);
return 0;
}
-#define RUN_PARTED(device,...) \
- do { \
- int r; \
- char *err; \
- \
- r = commandf (NULL, &err, COMMAND_FLAG_FOLD_STDOUT_ON_STDERR, \
- "/sbin/parted", "-s", "--", (device), __VA_ARGS__); \
- if (r == -1) { \
- if (recover_blkrrpart ((device), err) == -1) { \
- reply_with_error ("%s: parted: %s: %s", __func__, (device), err); \
- free (err); \
- return -1; \
- } \
- } \
- \
- free (err); \
+#define RUN_PARTED(device,...) \
+ do { \
+ int r; \
+ char *err; \
+ \
+ r = commandf (NULL, &err, COMMAND_FLAG_FOLD_STDOUT_ON_STDERR, \
+ "/sbin/parted", "-s", "--", (device), __VA_ARGS__); \
+ if (r == -1) { \
+ if (recover_blkrrpart ((device), err) == -1) { \
+ reply_with_error ("%s: parted: %s: %s", __func__, (device), err); \
+ free (err); \
+ return -1; \
+ } \
+ } \
+ \
+ free (err); \
} while (0)
static const char *
check_parttype (const char *parttype)
{
/* Check and translate parttype. */
- if (strcmp (parttype, "aix") == 0 ||
- strcmp (parttype, "amiga") == 0 ||
- strcmp (parttype, "bsd") == 0 ||
- strcmp (parttype, "dasd") == 0 ||
- strcmp (parttype, "dvh") == 0 ||
- strcmp (parttype, "gpt") == 0 ||
- strcmp (parttype, "mac") == 0 ||
- strcmp (parttype, "msdos") == 0 ||
- strcmp (parttype, "pc98") == 0 ||
- strcmp (parttype, "sun") == 0)
+ if (STREQ (parttype, "aix") ||
+ STREQ (parttype, "amiga") ||
+ STREQ (parttype, "bsd") ||
+ STREQ (parttype, "dasd") ||
+ STREQ (parttype, "dvh") ||
+ STREQ (parttype, "gpt") ||
+ STREQ (parttype, "mac") ||
+ STREQ (parttype, "msdos") ||
+ STREQ (parttype, "pc98") ||
+ STREQ (parttype, "sun"))
return parttype;
- else if (strcmp (parttype, "rdb") == 0)
+ else if (STREQ (parttype, "rdb"))
return "amiga";
- else if (strcmp (parttype, "efi") == 0)
+ else if (STREQ (parttype, "efi"))
return "gpt";
- else if (strcmp (parttype, "mbr") == 0)
+ else if (STREQ (parttype, "mbr"))
return "msdos";
else
return NULL;
{
parttype = check_parttype (parttype);
if (!parttype) {
- reply_with_error ("part-init: unknown partition type: common choices are \"gpt\" and \"msdos\"");
+ reply_with_error ("unknown partition type: common choices are \"gpt\" and \"msdos\"");
return -1;
}
char endstr[32];
/* Check and translate prlogex. */
- if (strcmp (prlogex, "primary") == 0 ||
- strcmp (prlogex, "logical") == 0 ||
- strcmp (prlogex, "extended") == 0)
+ if (STREQ (prlogex, "primary") ||
+ STREQ (prlogex, "logical") ||
+ STREQ (prlogex, "extended"))
;
- else if (strcmp (prlogex, "p") == 0)
+ else if (STREQ (prlogex, "p"))
prlogex = "primary";
- else if (strcmp (prlogex, "l") == 0)
+ else if (STREQ (prlogex, "l"))
prlogex = "logical";
- else if (strcmp (prlogex, "e") == 0)
+ else if (STREQ (prlogex, "e"))
prlogex = "extended";
else {
- reply_with_error ("part-add: unknown partition type: %s: this should be \"primary\", \"logical\" or \"extended\"", prlogex);
+ reply_with_error ("unknown partition type: %s: this should be \"primary\", \"logical\" or \"extended\"", prlogex);
return -1;
}
if (startsect < 0) {
- reply_with_error ("part-add: startsect cannot be negative");
+ reply_with_error ("startsect cannot be negative");
return -1;
}
/* but endsect can be negative */
parttype = check_parttype (parttype);
if (!parttype) {
- reply_with_error ("part-disk: unknown partition type: common choices are \"gpt\" and \"msdos\"");
+ reply_with_error ("unknown partition type: common choices are \"gpt\" and \"msdos\"");
return -1;
}
/* Voooooodooooooooo (thanks Jim Meyering for working this out). */
- if (strcmp (parttype, "msdos") == 0) {
+ if (STREQ (parttype, "msdos")) {
startstr = "1s";
endstr = "-1s";
- } else if (strcmp (parttype, "gpt") == 0) {
+ } else if (STREQ (parttype, "gpt")) {
startstr = "34s";
endstr = "-34s";
} else {
}
RUN_PARTED (device,
- "mklabel", parttype,
- /* See comment about about the parted mkpart command. */
- "mkpart", strcmp (parttype, "gpt") == 0 ? "p1" : "primary",
- startstr, endstr, NULL);
+ "mklabel", parttype,
+ /* See comment about about the parted mkpart command. */
+ "mkpart", STREQ (parttype, "gpt") ? "p1" : "primary",
+ startstr, endstr, NULL);
udev_settle ();
if (!lines)
return NULL;
- if (lines[0] == NULL || strcmp (lines[0], "BYT;") != 0) {
- reply_with_error ("parted print: unknown signature, expected \"BYT;\" as first line of the output: %s",
+ if (lines[0] == NULL || STRNEQ (lines[0], "BYT;")) {
+ reply_with_error ("unknown signature, expected \"BYT;\" as first line of the output: %s",
lines[0] ? lines[0] : "(signature was null)");
free_strings (lines);
return NULL;
}
if (lines[1] == NULL) {
- reply_with_error ("parted print: parted didn't return a line describing the device");
+ reply_with_error ("parted didn't return a line describing the device");
free_strings (lines);
return NULL;
}
|| strtok (NULL, ":") == NULL /* physical sector size */
|| (r = strtok (NULL, ":")) == NULL /* return value */
) {
- reply_with_error ("part_get_parttype: too few fields in output from parted print command: %s", lines[1]);
+ reply_with_error ("too few fields in output from parted print command: %s", lines[1]);
free_strings (lines);
return NULL;
}
&r->guestfs_int_partition_list_val[i].part_start,
&r->guestfs_int_partition_list_val[i].part_end,
&r->guestfs_int_partition_list_val[i].part_size) != 4) {
- reply_with_error ("part_list: could not parse row from output of parted print command: %s", lines[row]);
+ reply_with_error ("could not parse row from output of parted print command: %s", lines[row]);
goto error3;
}
}