summaryrefslogtreecommitdiffstats
path: root/partx/partx.c
diff options
context:
space:
mode:
authorPhillip Susi2011-12-05 21:02:51 +0100
committerKarel Zak2011-12-08 13:41:39 +0100
commitab025087f91b66ee8e23a16bc49eb0d9bd421d65 (patch)
treef90e254072cec011982336e8eaad8f9a0c17f28f /partx/partx.c
parentagetty: don't use log_err() for non-fatal errors (diff)
downloadkernel-qcow2-util-linux-ab025087f91b66ee8e23a16bc49eb0d9bd421d65.tar.gz
kernel-qcow2-util-linux-ab025087f91b66ee8e23a16bc49eb0d9bd421d65.tar.xz
kernel-qcow2-util-linux-ab025087f91b66ee8e23a16bc49eb0d9bd421d65.zip
partx: don't print error when partition already doesn't exist
If you run partx -d to delete partitions, and there are gaps in the sequence ( partition 2 exists, but 1 doesn't ), then it would complain that it had errors trying to remove the partitions that already don't exist. Changed to ignore the error when errno == ENXIO. Signed-off-by: Phillip Susi <psusi@cfl.rr.com>
Diffstat (limited to 'partx/partx.c')
-rw-r--r--partx/partx.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/partx/partx.c b/partx/partx.c
index d2fde3f4e..7c4235bb0 100644
--- a/partx/partx.c
+++ b/partx/partx.c
@@ -302,10 +302,15 @@ static int del_parts(int fd, const char *device, dev_t devno,
}
for (i = lower; i <= upper; i++) {
- if (partx_del_partition(fd, i) == 0) {
+ rc = partx_del_partition(fd, i);
+ if (rc == 0) {
if (verbose)
printf(_("%s: partition #%d removed\n"), device, i);
continue;
+ } else if (errno == ENXIO) {
+ if (verbose)
+ printf(_("%s: partition #%d already doesn't exist\n"), device, i);
+ continue;
}
rc = -1;
if (verbose)