]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
libfdisk: allow to resize container
authorKarel Zak <kzak@redhat.com>
Mon, 19 Jun 2017 13:32:02 +0000 (15:32 +0200)
committerKarel Zak <kzak@redhat.com>
Mon, 19 Jun 2017 13:32:02 +0000 (15:32 +0200)
Signed-off-by: Karel Zak <kzak@redhat.com>
libfdisk/src/partition.c

index 58d29433548de319b3c0298d83b61394c7e8ad59..4455432cda438479fc4e3ccc5637d1bbb769a799 100644 (file)
@@ -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) {