[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Adding support for HP Service Partition GUID for GPT
From: |
Richard Hirst |
Subject: |
Adding support for HP Service Partition GUID for GPT |
Date: |
Mon, 18 Mar 2002 19:03:05 +0000 |
User-agent: |
Mutt/1.3.24i |
Hi,
HP have defined a Service Partition GUID for their ia64 systems. It
is a partition with FAT filesystem, holding various diagnostic and
configuration tools (like compaq-diag, dell-diag, etc). We need to be
able to create partitions with this GUID, and recognise from parted
print output when such a partition exists. At the moment I'm concerned
with getting support for this in to parted 1.4, but will do what is
necessary for 1.6 if this is accepted. I've included a patch below for
comment.
Thanks,
Richard
diff -ur parted-1.4.24.ori/ChangeLog parted-1.4.24-1.hp-diag/ChangeLog
--- parted-1.4.24.ori/ChangeLog Sat Jan 26 18:03:37 2002
+++ parted-1.4.24-1.hp-diag/ChangeLog Mon Mar 18 18:12:49 2002
@@ -7,6 +7,9 @@
-----------------------------------------------------------------------------
1.4.x
-----------------------------------------------------------------------------
+
+* add hp-service partition type support (Richard Hirst)
+
2002-01-26 Andrew Cluasen <address@hidden>
* added new/updated translations: ca, fr, da
* backported fixes from 1.6.x:
diff -ur parted-1.4.24.ori/doc/API parted-1.4.24-1.hp-diag/doc/API
--- parted-1.4.24.ori/doc/API Tue Jun 5 01:06:34 2001
+++ parted-1.4.24-1.hp-diag/doc/API Mon Mar 18 18:10:54 2002
@@ -547,7 +547,8 @@
PED_PARTITION_HIDDEN=4,
PED_PARTITION_RAID=5,
PED_PARTITION_LVM=6,
- PED_PARTITION_LBA=7
+ PED_PARTITION_HPSERVICE=7,
+ PED_PARTITION_LBA=8
} PedPartitionFlag;
#define PED_PARTITION_FIRST_FLAG PED_PARTITION_BOOT
#define PED_PARTITION_LAST_FLAG PED_PARTITION_LBA
diff -ur parted-1.4.24.ori/doc/USER parted-1.4.24-1.hp-diag/doc/USER
--- parted-1.4.24.ori/doc/USER Tue Oct 16 18:36:04 2001
+++ parted-1.4.24-1.hp-diag/doc/USER Mon Mar 18 14:50:57 2002
@@ -339,7 +339,7 @@
select DEVICE choose the device to edit
set MINOR FLAG STATE change a flag on partition MINOR
-FLAG is one of: boot, root, swap, hidden, raid, lvm, lba
+FLAG is one of: boot, root, swap, hidden, raid, lvm, lba, hp-service
FS-TYPE is one of: ext2, FAT, hfs, linux-swap, ntfs, reiserfs
diff -ur parted-1.4.24.ori/doc/parted.8 parted-1.4.24-1.hp-diag/doc/parted.8
--- parted-1.4.24.ori/doc/parted.8 Fri Apr 27 00:20:02 2001
+++ parted-1.4.24-1.hp-diag/doc/parted.8 Mon Mar 18 15:11:15 2002
@@ -102,7 +102,8 @@
.TP
.B set \fIpartition\fP \fIflag\fP \fIstate\fP
change the state of the \fIflag\fP on \fIpartition\fP to \fIstate\fP. Flags
-supported are: "boot", "root", "swap", "hidden", "raid", "lvm" and "lba".
+supported are: "boot", "root", "swap", "hidden", "raid", "lvm", "lba" and
+"hp-service".
\fIstate\fP should be either "on" or "off"
.RS
.SH REPORTING BUGS
diff -ur parted-1.4.24.ori/include/parted/disk.h
parted-1.4.24-1.hp-diag/include/parted/disk.h
--- parted-1.4.24.ori/include/parted/disk.h Tue Sep 11 07:52:34 2001
+++ parted-1.4.24-1.hp-diag/include/parted/disk.h Mon Mar 18 18:11:16 2002
@@ -52,7 +52,8 @@
PED_PARTITION_HIDDEN=4,
PED_PARTITION_RAID=5,
PED_PARTITION_LVM=6,
- PED_PARTITION_LBA=7
+ PED_PARTITION_HPSERVICE=7,
+ PED_PARTITION_LBA=8
} PedPartitionFlag;
#define PED_PARTITION_FIRST_FLAG PED_PARTITION_BOOT
#define PED_PARTITION_LAST_FLAG PED_PARTITION_LBA
diff -ur parted-1.4.24.ori/include/parted/disk_gpt.h
parted-1.4.24-1.hp-diag/include/parted/disk_gpt.h
--- parted-1.4.24.ori/include/parted/disk_gpt.h Mon Oct 1 22:06:33 2001
+++ parted-1.4.24-1.hp-diag/include/parted/disk_gpt.h Mon Mar 18 18:25:45 2002
@@ -70,6 +78,8 @@
((efi_guid_t) { 0xe6d6d379, 0xf507, 0x44c2, 0xa2, 0x3c, { 0x23, 0x8f,
0x2a, 0x3d, 0xf9, 0x28 }})
#define PARTITION_RESERVED_GUID \
((efi_guid_t) { 0x8da63339, 0x0007, 0x60c0, 0xc4, 0x36, { 0x08, 0x3a,
0xc8, 0x23, 0x09, 0x08 }})
+#define PARTITION_HPSERVICE_GUID \
+ ((efi_guid_t) { 0xe2a1e728, 0x32e3, 0x11d6, 0xa6, 0x82, { 0x7b, 0x03,
0xa0, 0x00, 0x00, 0x00 }})
typedef struct _GuidPartitionTableHeader_t {
uint64_t Signature;
diff -ur parted-1.4.24.ori/libparted/disk.c
parted-1.4.24-1.hp-diag/libparted/disk.c
--- parted-1.4.24.ori/libparted/disk.c Mon Oct 1 22:36:48 2001
+++ parted-1.4.24-1.hp-diag/libparted/disk.c Mon Mar 18 14:48:24 2002
@@ -1809,6 +1809,8 @@
return N_("lvm");
case PED_PARTITION_LBA:
return N_("lba");
+ case PED_PARTITION_HPSERVICE:
+ return N_("hp-service");
default:
ped_exception_throw (
diff -ur parted-1.4.24.ori/libparted/disk_gpt.c
parted-1.4.24-1.hp-diag/libparted/disk_gpt.c
--- parted-1.4.24.ori/libparted/disk_gpt.c Sat Oct 20 06:52:42 2001
+++ parted-1.4.24-1.hp-diag/libparted/disk_gpt.c Mon Mar 18 14:29:06 2002
@@ -1686,6 +1686,15 @@
PARTITION_BASIC_DATA_GUID;
break;
+ case PED_PARTITION_HPSERVICE:
+ if (state)
+ gpt_part_data->pte->PartitionTypeGuid =
+ PARTITION_HPSERVICE_GUID;
+ else
+ gpt_part_data->pte->PartitionTypeGuid =
+ PARTITION_BASIC_DATA_GUID;
+
+ break;
case PED_PARTITION_LBA:
if (!state) return 0;
break;
@@ -1720,6 +1729,9 @@
case PED_PARTITION_LVM:
return (!efi_guidcmp(gpt_part_data->pte->PartitionTypeGuid,
PARTITION_LVM_GUID));
+ case PED_PARTITION_HPSERVICE:
+ return (!efi_guidcmp(gpt_part_data->pte->PartitionTypeGuid,
+ PARTITION_HPSERVICE_GUID));
case PED_PARTITION_BOOT:
return (!efi_guidcmp(gpt_part_data->pte->PartitionTypeGuid,
PARTITION_SYSTEM_GUID));
@@ -1742,6 +1754,7 @@
case PED_PARTITION_RAID:
case PED_PARTITION_LVM:
case PED_PARTITION_LBA:
+ case PED_PARTITION_HPSERVICE:
case PED_PARTITION_BOOT:
return 1;
case PED_PARTITION_ROOT: