summaryrefslogtreecommitdiffstats
path: root/disk-utils/sfdisk.c
diff options
context:
space:
mode:
authorKarel Zak2015-04-13 12:08:50 +0200
committerKarel Zak2015-04-13 12:08:50 +0200
commitd754d5540fa3e5399f2f46a2781acaa12aa33500 (patch)
treebb34b7d116afcc343d56bd2b6015ccc0fc0a651f /disk-utils/sfdisk.c
parenttests: add sfdisk resize tests (diff)
downloadkernel-qcow2-util-linux-d754d5540fa3e5399f2f46a2781acaa12aa33500.tar.gz
kernel-qcow2-util-linux-d754d5540fa3e5399f2f46a2781acaa12aa33500.tar.xz
kernel-qcow2-util-linux-d754d5540fa3e5399f2f46a2781acaa12aa33500.zip
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 6b60d040e..ee55feae4 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;
}