diff options
author | Karel Zak | 2016-05-10 10:52:31 +0200 |
---|---|---|
committer | Karel Zak | 2016-05-10 10:52:31 +0200 |
commit | a3a125b9227be82d84941062feaf3ddfde8265f7 (patch) | |
tree | 1b973738a783d380aadcd267232f65724d139efb /libfdisk/src/partition.c | |
parent | Merge branch 'no-fork' of https://github.com/terryburton/util-linux (diff) | |
download | kernel-qcow2-util-linux-a3a125b9227be82d84941062feaf3ddfde8265f7.tar.gz kernel-qcow2-util-linux-a3a125b9227be82d84941062feaf3ddfde8265f7.tar.xz kernel-qcow2-util-linux-a3a125b9227be82d84941062feaf3ddfde8265f7.zip |
libfdisk: use fdisk_add_partition() for unused partno
For example:
sfdisk -N <parno>
may address unused partition. In this case we need to redirect from
fdisk_set_partition() to fdisk_add_partition() and follow default
setting (used all free space).
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'libfdisk/src/partition.c')
-rw-r--r-- | libfdisk/src/partition.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/libfdisk/src/partition.c b/libfdisk/src/partition.c index 4fbd1e468..a98620b04 100644 --- a/libfdisk/src/partition.c +++ b/libfdisk/src/partition.c @@ -1235,6 +1235,11 @@ int fdisk_set_partition(struct fdisk_context *cxt, size_t partno, pa->fs_probed = 0; + if (!fdisk_is_partition_used(cxt, partno)) { + pa->partno = partno; + return fdisk_add_partition(cxt, pa, NULL); + } + if (pa->resize || fdisk_partition_has_start(pa) || fdisk_partition_has_size(pa)) { xpa = __copy_partition(pa); xpa->movestart = 0; |