disk: gpt: print all partitions
authorHeinrich Schuchardt <heinrich.schuchardt@canonical.com>
Tue, 11 Jan 2022 14:43:05 +0000 (15:43 +0100)
committerHeinrich Schuchardt <heinrich.schuchardt@canonical.com>
Sat, 15 Jan 2022 09:57:22 +0000 (10:57 +0100)
For GPT partition tables the 'part list' command stops at the first invalid
partition number. But Ubuntu has images with partitions number

    1, 12, 13, 14, 15

In this case only partition 1 was listed by 'part list'.

Fixes: 38a3021edc54 ("disk: part_efi: remove indent level from loop")
Reported-by: Alexandre Ghiti <alexandre.ghiti@canonical.com>
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Tested-by: Alexandre Ghiti <alexandre.ghiti@canonical.com>
disk/part_efi.c

index 0ca7eff..3809333 100644 (file)
@@ -236,9 +236,9 @@ void part_print_efi(struct blk_desc *dev_desc)
        printf("\tPartition GUID\n");
 
        for (i = 0; i < le32_to_cpu(gpt_head->num_partition_entries); i++) {
-               /* Stop at the first non valid PTE */
+               /* Skip invalid PTE */
                if (!is_pte_valid(&gpt_pte[i]))
-                       break;
+                       continue;
 
                printf("%3d\t0x%08llx\t0x%08llx\t\"%s\"\n", (i + 1),
                        le64_to_cpu(gpt_pte[i].starting_lba),