summaryrefslogtreecommitdiffstats
path: root/libfdisk
diff options
context:
space:
mode:
authorKarel Zak2014-03-07 13:43:39 +0100
committerKarel Zak2014-03-11 11:35:15 +0100
commitc1c58b492fed457c81f6c5aab5689b40c8b1ec6f (patch)
tree859705c9695a0c162ac6e428c576be42c0c2e3fb /libfdisk
parentcfdisk: coding style, comments, etc. (diff)
downloadkernel-qcow2-util-linux-c1c58b492fed457c81f6c5aab5689b40c8b1ec6f.tar.gz
kernel-qcow2-util-linux-c1c58b492fed457c81f6c5aab5689b40c8b1ec6f.tar.xz
kernel-qcow2-util-linux-c1c58b492fed457c81f6c5aab5689b40c8b1ec6f.zip
libfdisk: don't count special whole-disk partitions
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'libfdisk')
-rw-r--r--libfdisk/src/fdiskP.h1
-rw-r--r--libfdisk/src/table.c2
2 files changed, 2 insertions, 1 deletions
diff --git a/libfdisk/src/fdiskP.h b/libfdisk/src/fdiskP.h
index 6d067fbf5..cde75c1fa 100644
--- a/libfdisk/src/fdiskP.h
+++ b/libfdisk/src/fdiskP.h
@@ -189,6 +189,7 @@ struct fdisk_partition {
end_follow_default : 1, /* use default end */
freespace : 1, /* this is free space */
container : 1, /* container partition (e.g. extended partition) */
+ wholedisk : 1, /* special system partition */
used : 1; /* partition already used */
};
diff --git a/libfdisk/src/table.c b/libfdisk/src/table.c
index ae1a2cf5d..dfa5dc80e 100644
--- a/libfdisk/src/table.c
+++ b/libfdisk/src/table.c
@@ -486,7 +486,7 @@ int fdisk_get_freespaces(struct fdisk_context *cxt, struct fdisk_table **tb)
/* analyze gaps between partitions */
while (rc == 0 && fdisk_table_next_partition(parts, &itr, &pa) == 0) {
- if (!pa->used || fdisk_partition_is_nested(pa))
+ if (!pa->used || pa->wholedisk || fdisk_partition_is_nested(pa))
continue;
DBG(LABEL, dbgprint("freespace analyze: partno=%zu, start=%ju, end=%ju",
pa->partno, pa->start, pa->end));