d75d85cc43
- tests/t1701-rescue-fs wait for the device to appear. (bcl) - Increase timeout for rmmod scsi_debug and make it a framework failure (bcl) - libparted/dasd: add test cases for the new fdasd functions (dongdwdw) - libparted/dasd: add an exception for changing DASD-LDL partition table (dongdwdw) - libpartd/dasd: improve flag processing for DASD-LDL (dongdwdw) - parted/ui: remove unneccesary information of command line (dongdwdw) - parted: check the name of partition first when to name a partition (dongdwdw) - Add support for RAM drives (sparschauer) - Fix crash when localized (psusi) - libparted: Fix typo in hfs error message (sebras) - libparted: Fix MacOS boot support (laurent) - mac: copy partition type and name correctly (saproj) - libparted: Add support for atari partition tables (glaubitz) - libparted:tests: Move get_sector_size() to common.c (glaubitz) - tests: Update t0220 and t0280 for the swap flag. (bcl) - libparted: set swap flag on GPT partitions (aschnell) - libparted/dasd: add test cases for the new fdasd functions (dongdwdw) - libparted/dasd: add new fdasd functions (dongdwdw) - libparted/dasd: update and improve fdasd functions (dongdwdw) - libparted/dasd: unify vtoc handling for cdl/ldl (dongdwdw) - libparted: Don't warn if no HDIO_GET_IDENTITY ioctl (sparschauer) - libparted: Fix starting CHS in protective MBR (petr.uzel) - tests: Stop timing t9040 (#1172675) (bcl)
203 lines
7.5 KiB
Diff
203 lines
7.5 KiB
Diff
From f209b71efc693b97b7c812678e811698ffd2bc79 Mon Sep 17 00:00:00 2001
|
|
From: Arvin Schnell <aschnell@suse.com>
|
|
Date: Thu, 22 Dec 2016 14:36:43 -0800
|
|
Subject: [PATCH 62/75] libparted: set swap flag on GPT partitions
|
|
|
|
The filesystem type is still detected as befor, but now setting the
|
|
'swap' flag will set the partition GUID to PARTITION_SWAP_GUID.
|
|
|
|
Signed-off-by: Brian C. Lane <bcl@redhat.com>
|
|
---
|
|
libparted/labels/gpt.c | 42 +++++++++++++++++++++++++++++++++++++++---
|
|
1 file changed, 39 insertions(+), 3 deletions(-)
|
|
|
|
diff --git a/libparted/labels/gpt.c b/libparted/labels/gpt.c
|
|
index 6027eb3..4f922b2 100644
|
|
--- a/libparted/labels/gpt.c
|
|
+++ b/libparted/labels/gpt.c
|
|
@@ -290,6 +290,7 @@ typedef struct _GPTPartitionData
|
|
efi_char16_t name[37];
|
|
char *translated_name;
|
|
int lvm;
|
|
+ int swap;
|
|
int raid;
|
|
int boot;
|
|
int bios_grub;
|
|
@@ -818,7 +819,8 @@ _parse_part_entry (PedDisk *disk, GuidPartitionEntry_t *pte)
|
|
gpt_part_data->name[i] = 0;
|
|
gpt_part_data->translated_name = 0;
|
|
|
|
- gpt_part_data->lvm = gpt_part_data->raid
|
|
+ gpt_part_data->lvm = gpt_part_data->swap
|
|
+ = gpt_part_data->raid
|
|
= gpt_part_data->boot = gpt_part_data->hp_service
|
|
= gpt_part_data->hidden = gpt_part_data->msftres
|
|
= gpt_part_data->msftdata
|
|
@@ -841,6 +843,8 @@ _parse_part_entry (PedDisk *disk, GuidPartitionEntry_t *pte)
|
|
gpt_part_data->raid = 1;
|
|
else if (!guid_cmp (gpt_part_data->type, PARTITION_LVM_GUID))
|
|
gpt_part_data->lvm = 1;
|
|
+ else if (!guid_cmp (gpt_part_data->type, PARTITION_SWAP_GUID))
|
|
+ gpt_part_data->swap = 1;
|
|
else if (!guid_cmp (gpt_part_data->type, PARTITION_HPSERVICE_GUID))
|
|
gpt_part_data->hp_service = 1;
|
|
else if (!guid_cmp (gpt_part_data->type, PARTITION_MSFT_RESERVED_GUID))
|
|
@@ -1361,6 +1365,7 @@ gpt_partition_new (const PedDisk *disk,
|
|
|
|
gpt_part_data->type = PARTITION_LINUX_DATA_GUID;
|
|
gpt_part_data->lvm = 0;
|
|
+ gpt_part_data->swap = 0;
|
|
gpt_part_data->raid = 0;
|
|
gpt_part_data->boot = 0;
|
|
gpt_part_data->bios_grub = 0;
|
|
@@ -1449,6 +1454,11 @@ gpt_partition_set_system (PedPartition *part,
|
|
gpt_part_data->type = PARTITION_LVM_GUID;
|
|
return 1;
|
|
}
|
|
+ if (gpt_part_data->swap)
|
|
+ {
|
|
+ gpt_part_data->type = PARTITION_SWAP_GUID;
|
|
+ return 1;
|
|
+ }
|
|
if (gpt_part_data->raid)
|
|
{
|
|
gpt_part_data->type = PARTITION_RAID_GUID;
|
|
@@ -1636,6 +1646,7 @@ gpt_partition_set_flag (PedPartition *part, PedPartitionFlag flag, int state)
|
|
if (state)
|
|
gpt_part_data->raid
|
|
= gpt_part_data->lvm
|
|
+ = gpt_part_data->swap
|
|
= gpt_part_data->bios_grub
|
|
= gpt_part_data->hp_service
|
|
= gpt_part_data->msftres
|
|
@@ -1650,6 +1661,7 @@ gpt_partition_set_flag (PedPartition *part, PedPartitionFlag flag, int state)
|
|
if (state)
|
|
gpt_part_data->raid
|
|
= gpt_part_data->lvm
|
|
+ = gpt_part_data->swap
|
|
= gpt_part_data->boot
|
|
= gpt_part_data->hp_service
|
|
= gpt_part_data->msftres
|
|
@@ -1664,6 +1676,7 @@ gpt_partition_set_flag (PedPartition *part, PedPartitionFlag flag, int state)
|
|
if (state)
|
|
gpt_part_data->boot
|
|
= gpt_part_data->lvm
|
|
+ = gpt_part_data->swap
|
|
= gpt_part_data->bios_grub
|
|
= gpt_part_data->hp_service
|
|
= gpt_part_data->msftres
|
|
@@ -1677,6 +1690,22 @@ gpt_partition_set_flag (PedPartition *part, PedPartitionFlag flag, int state)
|
|
gpt_part_data->lvm = state;
|
|
if (state)
|
|
gpt_part_data->boot
|
|
+ = gpt_part_data->swap
|
|
+ = gpt_part_data->raid
|
|
+ = gpt_part_data->bios_grub
|
|
+ = gpt_part_data->hp_service
|
|
+ = gpt_part_data->msftres
|
|
+ = gpt_part_data->msftdata
|
|
+ = gpt_part_data->msftrecv
|
|
+ = gpt_part_data->prep
|
|
+ = gpt_part_data->irst
|
|
+ = gpt_part_data->atvrecv = 0;
|
|
+ return gpt_partition_set_system (part, part->fs_type);
|
|
+ case PED_PARTITION_SWAP:
|
|
+ gpt_part_data->swap = state;
|
|
+ if (state)
|
|
+ gpt_part_data->boot
|
|
+ = gpt_part_data->lvm
|
|
= gpt_part_data->raid
|
|
= gpt_part_data->bios_grub
|
|
= gpt_part_data->hp_service
|
|
@@ -1693,6 +1722,7 @@ gpt_partition_set_flag (PedPartition *part, PedPartitionFlag flag, int state)
|
|
gpt_part_data->boot
|
|
= gpt_part_data->raid
|
|
= gpt_part_data->lvm
|
|
+ = gpt_part_data->swap
|
|
= gpt_part_data->bios_grub
|
|
= gpt_part_data->msftres
|
|
= gpt_part_data->msftdata
|
|
@@ -1707,6 +1737,7 @@ gpt_partition_set_flag (PedPartition *part, PedPartitionFlag flag, int state)
|
|
gpt_part_data->boot
|
|
= gpt_part_data->raid
|
|
= gpt_part_data->lvm
|
|
+ = gpt_part_data->swap
|
|
= gpt_part_data->bios_grub
|
|
= gpt_part_data->hp_service
|
|
= gpt_part_data->msftdata
|
|
@@ -1721,6 +1752,7 @@ gpt_partition_set_flag (PedPartition *part, PedPartitionFlag flag, int state)
|
|
gpt_part_data->boot
|
|
= gpt_part_data->raid
|
|
= gpt_part_data->lvm
|
|
+ = gpt_part_data->swap
|
|
= gpt_part_data->bios_grub
|
|
= gpt_part_data->hp_service
|
|
= gpt_part_data->msftres
|
|
@@ -1739,6 +1771,7 @@ gpt_partition_set_flag (PedPartition *part, PedPartitionFlag flag, int state)
|
|
gpt_part_data->boot
|
|
= gpt_part_data->raid
|
|
= gpt_part_data->lvm
|
|
+ = gpt_part_data->swap
|
|
= gpt_part_data->bios_grub
|
|
= gpt_part_data->hp_service
|
|
= gpt_part_data->msftdata
|
|
@@ -1753,6 +1786,7 @@ gpt_partition_set_flag (PedPartition *part, PedPartitionFlag flag, int state)
|
|
gpt_part_data->boot
|
|
= gpt_part_data->raid
|
|
= gpt_part_data->lvm
|
|
+ = gpt_part_data->swap
|
|
= gpt_part_data->bios_grub
|
|
= gpt_part_data->hp_service
|
|
= gpt_part_data->msftres
|
|
@@ -1766,6 +1800,7 @@ gpt_partition_set_flag (PedPartition *part, PedPartitionFlag flag, int state)
|
|
gpt_part_data->boot
|
|
= gpt_part_data->raid
|
|
= gpt_part_data->lvm
|
|
+ = gpt_part_data->swap
|
|
= gpt_part_data->bios_grub
|
|
= gpt_part_data->hp_service
|
|
= gpt_part_data->msftres
|
|
@@ -1779,6 +1814,7 @@ gpt_partition_set_flag (PedPartition *part, PedPartitionFlag flag, int state)
|
|
gpt_part_data->boot
|
|
= gpt_part_data->raid
|
|
= gpt_part_data->lvm
|
|
+ = gpt_part_data->swap
|
|
= gpt_part_data->bios_grub
|
|
= gpt_part_data->hp_service
|
|
= gpt_part_data->msftres
|
|
@@ -1793,7 +1829,6 @@ gpt_partition_set_flag (PedPartition *part, PedPartitionFlag flag, int state)
|
|
case PED_PARTITION_LEGACY_BOOT:
|
|
gpt_part_data->legacy_boot = state;
|
|
return 1;
|
|
- case PED_PARTITION_SWAP:
|
|
case PED_PARTITION_ROOT:
|
|
case PED_PARTITION_LBA:
|
|
default:
|
|
@@ -1839,6 +1874,7 @@ gpt_partition_get_flag (const PedPartition *part, PedPartitionFlag flag)
|
|
case PED_PARTITION_IRST:
|
|
return gpt_part_data->irst;
|
|
case PED_PARTITION_SWAP:
|
|
+ return gpt_part_data->swap;
|
|
case PED_PARTITION_LBA:
|
|
case PED_PARTITION_ROOT:
|
|
default:
|
|
@@ -1855,6 +1891,7 @@ gpt_partition_is_flag_available (const PedPartition *part,
|
|
{
|
|
case PED_PARTITION_RAID:
|
|
case PED_PARTITION_LVM:
|
|
+ case PED_PARTITION_SWAP:
|
|
case PED_PARTITION_BOOT:
|
|
case PED_PARTITION_BIOS_GRUB:
|
|
case PED_PARTITION_HPSERVICE:
|
|
@@ -1868,7 +1905,6 @@ gpt_partition_is_flag_available (const PedPartition *part,
|
|
case PED_PARTITION_IRST:
|
|
case PED_PARTITION_ESP:
|
|
return 1;
|
|
- case PED_PARTITION_SWAP:
|
|
case PED_PARTITION_ROOT:
|
|
case PED_PARTITION_LBA:
|
|
default:
|
|
--
|
|
2.9.3
|
|
|