aboutsummaryrefslogtreecommitdiffstats
path: root/disk-utils/sfdisk.c
diff options
context:
space:
mode:
authorKarel Zak <kzak@redhat.com>2020-03-02 14:41:39 +0100
committerKarel Zak <kzak@redhat.com>2020-03-02 14:41:39 +0100
commitac762ed71f982468f4c83291158e97cf86281beb (patch)
treea9802350e9cf0b4b3c352b1cd8416354e753e702 /disk-utils/sfdisk.c
parentfa3fface0f83dbf186f046210700473da7a4800b (diff)
downloadutil-linux-ac762ed71f982468f4c83291158e97cf86281beb.tar.gz
sfdisk: fix previous --append patch, improve man page
- fix stupid typo (!has_container_or_unused(sf)) - use fdisk_is_partition_used() as fdisk_get_partition() returns nothing for unused partition - update tests - add more hints to the man page Addresses: https://github.com/calamares/calamares/issues/1332 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, 6 insertions, 3 deletions
diff --git a/disk-utils/sfdisk.c b/disk-utils/sfdisk.c
index adeed1cbda..c77d4942a5 100644
--- a/disk-utils/sfdisk.c
+++ b/disk-utils/sfdisk.c
@@ -1530,10 +1530,13 @@ static int has_container_or_unused(struct sfdisk *sf)
nparts = fdisk_get_npartitions(sf->cxt);
for (i = 0; i < nparts; i++) {
+
+ if (!fdisk_is_partition_used(sf->cxt, i)) {
+ sf->unused = 1;
+ continue;
+ }
if (fdisk_get_partition(sf->cxt, i, &pa) != 0)
continue;
- if (!fdisk_partition_is_used(pa))
- sf->unused = 1;
if (fdisk_partition_is_container(pa))
sf->container = 1;
}
@@ -1840,7 +1843,7 @@ static int command_fdisk(struct sfdisk *sf, int argc, char **argv)
if (created
&& partno < 0
&& next_partno == fdisk_get_npartitions(sf->cxt)
- && has_container_or_unused(sf)) {
+ && !has_container_or_unused(sf)) {
fdisk_info(sf->cxt, _("All partitions used."));
rc = SFDISK_DONE_ASK;
break;