GNU bug report logs - #15528
[PATCH] GPT: add support for PReP GUID

Previous Next

Package: parted;

Reported by: Avik Sil <aviksil <at> linux.vnet.ibm.com>

Date: Fri, 4 Oct 2013 21:42:01 UTC

Severity: normal

Tags: patch

Merged with 15548

Done: Phillip Susi <psusi <at> ubuntu.com>

Bug is archived. No further changes may be made.

Full log


Message #8 received at submit <at> debbugs.gnu.org (full text, mbox):

From: "Elliott, Robert (Server Storage)" <Elliott <at> hp.com>
To: Avik Sil <aviksil <at> linux.vnet.ibm.com>,
 "parted-devel <at> lists.alioth.debian.org"
 <parted-devel <at> lists.alioth.debian.org>, "bug-parted <at> gnu.org"
 <bug-parted <at> gnu.org>
Cc: "dbkreling <at> br.ibm.com" <dbkreling <at> br.ibm.com>
Subject: RE: [parted-devel] [PATCH] GPT: add support for PReP GUID
Date: Fri, 4 Oct 2013 14:19:04 +0000
You might want to include a comment somewhere explaining what PReP is ("PowerPC Reference Platform").

---
Rob Elliott    HP Server Storage


> -----Original Message-----
> From: parted-devel [mailto:parted-devel-
> bounces+elliott=hp.com <at> lists.alioth.debian.org] On Behalf Of Avik Sil
> Sent: Friday, 04 October, 2013 4:17 AM
> To: parted-devel <at> lists.alioth.debian.org; bug-parted <at> gnu.org
> Cc: dbkreling <at> br.ibm.com
> Subject: [parted-devel] [PATCH] GPT: add support for PReP GUID
> 
> From: Daniel Battaiola Kreling <dbkreling <at> br.ibm.com>
> 
> A new GUID 9e1a2d38-c612-4316-aa26-8b49521e5a8b for PReP partition
> is proposed to be included in GPT.
> ---
>  libparted/labels/gpt.c | 38 ++++++++++++++++++++++++++++++++++++++
>  1 file changed, 38 insertions(+)
> 
> diff --git a/libparted/labels/gpt.c b/libparted/labels/gpt.c
> index 490de70..ee8148d 100644
> --- a/libparted/labels/gpt.c
> +++ b/libparted/labels/gpt.c
> @@ -146,6 +146,10 @@ typedef struct
>      ((efi_guid_t) { PED_CPU_TO_LE32 (0x5265636F), PED_CPU_TO_LE16
> (0x7665), \
>                      PED_CPU_TO_LE16 (0x11AA), 0xaa, 0x11, \
>                      { 0x00, 0x30, 0x65, 0x43, 0xEC, 0xAC }})
> +#define PARTITION_PREP_GUID \
> +    ((efi_guid_t) { PED_CPU_TO_LE32 (0x9e1a2d38), PED_CPU_TO_LE16
> (0xc612), \
> +                    PED_CPU_TO_LE16 (0x4316), 0xaa, 0x26, \
> +                    { 0x8b, 0x49, 0x52, 0x1e, 0x5a, 0x8b }})
> 
>  struct __attribute__ ((packed)) _GuidPartitionTableHeader_t
>  {
> @@ -288,6 +292,7 @@ typedef struct _GPTPartitionData
>    int atvrecv;
>    int msftrecv;
>    int legacy_boot;
> +  int prep;
>  } GPTPartitionData;
> 
>  static PedDiskType gpt_disk_type;
> @@ -796,6 +801,7 @@ _parse_part_entry (PedDisk *disk, GuidPartitionEntry_t
> *pte)
>      = gpt_part_data->msftdata
>      = gpt_part_data->msftrecv
>      = gpt_part_data->legacy_boot
> +    = gpt_part_data->prep
>      = gpt_part_data->bios_grub = gpt_part_data->atvrecv = 0;
> 
>    if (pte->Attributes.RequiredToFunction & 0x1)
> @@ -821,6 +827,8 @@ _parse_part_entry (PedDisk *disk, GuidPartitionEntry_t
> *pte)
>      gpt_part_data->msftrecv = 1;
>    else if (!guid_cmp (gpt_part_data->type,
> PARTITION_APPLE_TV_RECOVERY_GUID))
>      gpt_part_data->atvrecv = 1;
> +  else if (!guid_cmp (gpt_part_data->type, PARTITION_PREP_GUID))
> +    gpt_part_data->prep = 1;
> 
>    return part;
>  }
> @@ -1338,6 +1346,7 @@ gpt_partition_new (const PedDisk *disk,
>    gpt_part_data->msftrecv = 0;
>    gpt_part_data->atvrecv = 0;
>    gpt_part_data->legacy_boot = 0;
> +  gpt_part_data->prep = 0;
>    uuid_generate ((unsigned char *) &gpt_part_data->uuid);
>    swap_uuid_and_efi_guid ((unsigned char *) (&gpt_part_data->uuid));
>    memset (gpt_part_data->name, 0, sizeof gpt_part_data->name);
> @@ -1411,6 +1420,11 @@ gpt_partition_set_system (PedPartition *part,
>        gpt_part_data->type = PARTITION_RAID_GUID;
>        return 1;
>      }
> +  if (gpt_part_data->prep)
> +    {
> +      gpt_part_data->type = PARTITION_PREP_GUID;
> +      return 1;
> +    }
>    if (gpt_part_data->boot)
>      {
>        gpt_part_data->type = PARTITION_SYSTEM_GUID;
> @@ -1587,6 +1601,7 @@ gpt_partition_set_flag (PedPartition *part,
> PedPartitionFlag flag, int state)
>            = gpt_part_data->msftres
>            = gpt_part_data->msftdata
>            = gpt_part_data->msftrecv
> +          = gpt_part_data->prep
>            = gpt_part_data->atvrecv = 0;
>        return gpt_partition_set_system (part, part->fs_type);
>      case PED_PARTITION_BIOS_GRUB:
> @@ -1599,6 +1614,7 @@ gpt_partition_set_flag (PedPartition *part,
> PedPartitionFlag flag, int state)
>            = gpt_part_data->msftres
>            = gpt_part_data->msftdata
>            = gpt_part_data->msftrecv
> +          = gpt_part_data->prep
>            = gpt_part_data->atvrecv = 0;
>        return gpt_partition_set_system (part, part->fs_type);
>      case PED_PARTITION_RAID:
> @@ -1611,6 +1627,7 @@ gpt_partition_set_flag (PedPartition *part,
> PedPartitionFlag flag, int state)
>            = gpt_part_data->msftres
>            = gpt_part_data->msftdata
>            = gpt_part_data->msftrecv
> +          = gpt_part_data->prep
>            = gpt_part_data->atvrecv = 0;
>        return gpt_partition_set_system (part, part->fs_type);
>      case PED_PARTITION_LVM:
> @@ -1623,6 +1640,7 @@ gpt_partition_set_flag (PedPartition *part,
> PedPartitionFlag flag, int state)
>            = gpt_part_data->msftres
>            = gpt_part_data->msftdata
>            = gpt_part_data->msftrecv
> +          = gpt_part_data->prep
>            = gpt_part_data->atvrecv = 0;
>        return gpt_partition_set_system (part, part->fs_type);
>      case PED_PARTITION_HPSERVICE:
> @@ -1635,6 +1653,7 @@ gpt_partition_set_flag (PedPartition *part,
> PedPartitionFlag flag, int state)
>            = gpt_part_data->msftres
>            = gpt_part_data->msftdata
>            = gpt_part_data->msftrecv
> +          = gpt_part_data->prep
>            = gpt_part_data->atvrecv = 0;
>        return gpt_partition_set_system (part, part->fs_type);
>      case PED_PARTITION_MSFT_RESERVED:
> @@ -1647,6 +1666,7 @@ gpt_partition_set_flag (PedPartition *part,
> PedPartitionFlag flag, int state)
>            = gpt_part_data->hp_service
>            = gpt_part_data->msftdata
>            = gpt_part_data->msftrecv
> +          = gpt_part_data->prep
>            = gpt_part_data->atvrecv = 0;
>        return gpt_partition_set_system (part, part->fs_type);
>      case PED_PARTITION_MSFT_DATA:
> @@ -1659,6 +1679,7 @@ gpt_partition_set_flag (PedPartition *part,
> PedPartitionFlag flag, int state)
>            = gpt_part_data->hp_service
>            = gpt_part_data->msftres
>            = gpt_part_data->msftrecv
> +          = gpt_part_data->prep
>            = gpt_part_data->atvrecv = 0;
>          gpt_part_data->msftdata = 1;
>        } else {
> @@ -1675,6 +1696,7 @@ gpt_partition_set_flag (PedPartition *part,
> PedPartitionFlag flag, int state)
>            = gpt_part_data->hp_service
>            = gpt_part_data->msftdata
>            = gpt_part_data->msftres
> +          = gpt_part_data->prep
>            = gpt_part_data->atvrecv = 0;
>        return gpt_partition_set_system (part, part->fs_type);
>      case PED_PARTITION_APPLE_TV_RECOVERY:
> @@ -1687,8 +1709,21 @@ gpt_partition_set_flag (PedPartition *part,
> PedPartitionFlag flag, int state)
>            = gpt_part_data->hp_service
>            = gpt_part_data->msftres
>            = gpt_part_data->msftdata
> +          = gpt_part_data->prep
>            = gpt_part_data->msftrecv = 0;
>        return gpt_partition_set_system (part, part->fs_type);
> +    case PED_PARTITION_PREP:
> +      gpt_part_data->prep = state;
> +      if (state)
> +        gpt_part_data->boot
> +          = gpt_part_data->raid
> +          = gpt_part_data->lvm
> +          = gpt_part_data->bios_grub
> +          = gpt_part_data->hp_service
> +          = gpt_part_data->msftres
> +          = gpt_part_data->msftrecv
> +          = gpt_part_data->atvrecv = 0;
> +      return gpt_partition_set_system (part, part->fs_type);
>      case PED_PARTITION_HIDDEN:
>        gpt_part_data->hidden = state;
>        return 1;
> @@ -1735,6 +1770,8 @@ gpt_partition_get_flag (const PedPartition *part,
> PedPartitionFlag flag)
>        return gpt_part_data->hidden;
>      case PED_PARTITION_LEGACY_BOOT:
>        return gpt_part_data->legacy_boot;
> +    case PED_PARTITION_PREP:
> +      return gpt_part_data->prep;
>      case PED_PARTITION_SWAP:
>      case PED_PARTITION_LBA:
>      case PED_PARTITION_ROOT:
> @@ -1761,6 +1798,7 @@ gpt_partition_is_flag_available (const PedPartition
> *part,
>      case PED_PARTITION_APPLE_TV_RECOVERY:
>      case PED_PARTITION_HIDDEN:
>      case PED_PARTITION_LEGACY_BOOT:
> +    case PED_PARTITION_PREP:
>        return 1;
>      case PED_PARTITION_SWAP:
>      case PED_PARTITION_ROOT:
> --
> 1.7.11.7
> 





This bug report was last modified 11 years and 186 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.