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>
This commit is contained in:
Phillip Susi 2011-12-05 15:02:51 -05:00 committed by Karel Zak
parent 1593b134eb
commit ab025087f9
1 changed files with 6 additions and 1 deletions

View File

@ -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)