aboutsummaryrefslogtreecommitdiffstats
path: root/disk-utils/sfdisk.c
diff options
context:
space:
mode:
authorKarel Zak <kzak@redhat.com>2015-04-13 12:08:50 +0200
committerKarel Zak <kzak@redhat.com>2015-04-13 12:08:50 +0200
commitd754d5540fa3e5399f2f46a2781acaa12aa33500 (patch)
treebb34b7d116afcc343d56bd2b6015ccc0fc0a651f /disk-utils/sfdisk.c
parent531dfb14d423ecb2c3284f533745421da5bd189c (diff)
downloadutil-linux-d754d5540fa3e5399f2f46a2781acaa12aa33500.tar.gz
sfdisk: improve -N warnings
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'disk-utils/sfdisk.c')
-rw-r--r--disk-utils/sfdisk.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/disk-utils/sfdisk.c b/disk-utils/sfdisk.c
index 6b60d040e1..ee55feae4e 100644
--- a/disk-utils/sfdisk.c
+++ b/disk-utils/sfdisk.c
@@ -1161,16 +1161,21 @@ static int command_fdisk(struct sfdisk *sf, int argc, char **argv)
*/
if (partno >= 0) {
size_t n;
+
if (!fdisk_has_label(sf->cxt))
errx(EXIT_FAILURE, _("%s: cannot modify partition %d: "
"no partition table was found"),
- devname, partno);
+ devname, partno + 1);
n = fdisk_get_npartitions(sf->cxt);
if ((size_t) partno > n)
errx(EXIT_FAILURE, _("%s: cannot modify partition %d: "
"partition table contains only %zu "
"partitions"),
- devname, partno, n);
+ devname, partno + 1, n);
+
+ if (!fdisk_is_partition_used(sf->cxt, partno))
+ fdisk_warnx(sf->cxt, _("warning: %s: partition %d is not defined yet"),
+ devname, partno + 1);
created = 1;
next_partno = partno;
}