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.
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 >
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.