From: Karel Zak Date: Mon, 19 Jun 2017 13:32:02 +0000 (+0200) Subject: libfdisk: allow to resize container X-Git-Tag: v2.31-rc1~288 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5ec4400dec75864b475a8099ba31807fd1272af4;p=thirdparty%2Futil-linux.git libfdisk: allow to resize container Signed-off-by: Karel Zak --- diff --git a/libfdisk/src/partition.c b/libfdisk/src/partition.c index 58d2943354..4455432cda 100644 --- a/libfdisk/src/partition.c +++ b/libfdisk/src/partition.c @@ -1070,11 +1070,18 @@ static int resize_get_last_possible( if (!fdisk_partition_has_start(pa) || !fdisk_partition_has_size(pa) || - fdisk_partition_is_container(pa)) { + (fdisk_partition_is_container(pa) && pa != cur)) { DBG(TAB, ul_debugobj(tb, " ignored (no start/size or container)")); continue; } + if (fdisk_partition_is_nested(pa) + && fdisk_partition_is_container(cur) + && pa->parent_partno == cur->partno) { + DBG(TAB, ul_debugobj(tb, " ignore (nested child of the current partition)")); + continue; + } + if (!last) { if (start >= pa->start && start < pa->start + pa->size) { if (fdisk_partition_is_freespace(pa) || pa == cur) {