]>
Commit | Line | Data |
---|---|---|
c886eb9d AM |
1 | From f209b71efc693b97b7c812678e811698ffd2bc79 Mon Sep 17 00:00:00 2001 |
2 | From: Arvin Schnell <aschnell@suse.com> | |
3 | Date: Thu, 22 Dec 2016 14:36:43 -0800 | |
4 | Subject: [PATCH 62/75] libparted: set swap flag on GPT partitions | |
5 | ||
6 | The filesystem type is still detected as befor, but now setting the | |
7 | 'swap' flag will set the partition GUID to PARTITION_SWAP_GUID. | |
8 | ||
9 | Signed-off-by: Brian C. Lane <bcl@redhat.com> | |
10 | --- | |
11 | libparted/labels/gpt.c | 42 +++++++++++++++++++++++++++++++++++++++--- | |
12 | 1 file changed, 39 insertions(+), 3 deletions(-) | |
13 | ||
14 | diff --git a/libparted/labels/gpt.c b/libparted/labels/gpt.c | |
15 | index 6027eb3..4f922b2 100644 | |
16 | --- a/libparted/labels/gpt.c | |
17 | +++ b/libparted/labels/gpt.c | |
18 | @@ -290,6 +290,7 @@ typedef struct _GPTPartitionData | |
19 | efi_char16_t name[37]; | |
20 | char *translated_name; | |
21 | int lvm; | |
22 | + int swap; | |
23 | int raid; | |
24 | int boot; | |
25 | int bios_grub; | |
26 | @@ -818,7 +819,8 @@ _parse_part_entry (PedDisk *disk, GuidPartitionEntry_t *pte) | |
27 | gpt_part_data->name[i] = 0; | |
28 | gpt_part_data->translated_name = 0; | |
29 | ||
30 | - gpt_part_data->lvm = gpt_part_data->raid | |
31 | + gpt_part_data->lvm = gpt_part_data->swap | |
32 | + = gpt_part_data->raid | |
33 | = gpt_part_data->boot = gpt_part_data->hp_service | |
34 | = gpt_part_data->hidden = gpt_part_data->msftres | |
35 | = gpt_part_data->msftdata | |
36 | @@ -841,6 +843,8 @@ _parse_part_entry (PedDisk *disk, GuidPartitionEntry_t *pte) | |
37 | gpt_part_data->raid = 1; | |
38 | else if (!guid_cmp (gpt_part_data->type, PARTITION_LVM_GUID)) | |
39 | gpt_part_data->lvm = 1; | |
40 | + else if (!guid_cmp (gpt_part_data->type, PARTITION_SWAP_GUID)) | |
41 | + gpt_part_data->swap = 1; | |
42 | else if (!guid_cmp (gpt_part_data->type, PARTITION_HPSERVICE_GUID)) | |
43 | gpt_part_data->hp_service = 1; | |
44 | else if (!guid_cmp (gpt_part_data->type, PARTITION_MSFT_RESERVED_GUID)) | |
45 | @@ -1361,6 +1365,7 @@ gpt_partition_new (const PedDisk *disk, | |
46 | ||
47 | gpt_part_data->type = PARTITION_LINUX_DATA_GUID; | |
48 | gpt_part_data->lvm = 0; | |
49 | + gpt_part_data->swap = 0; | |
50 | gpt_part_data->raid = 0; | |
51 | gpt_part_data->boot = 0; | |
52 | gpt_part_data->bios_grub = 0; | |
53 | @@ -1449,6 +1454,11 @@ gpt_partition_set_system (PedPartition *part, | |
54 | gpt_part_data->type = PARTITION_LVM_GUID; | |
55 | return 1; | |
56 | } | |
57 | + if (gpt_part_data->swap) | |
58 | + { | |
59 | + gpt_part_data->type = PARTITION_SWAP_GUID; | |
60 | + return 1; | |
61 | + } | |
62 | if (gpt_part_data->raid) | |
63 | { | |
64 | gpt_part_data->type = PARTITION_RAID_GUID; | |
65 | @@ -1636,6 +1646,7 @@ gpt_partition_set_flag (PedPartition *part, PedPartitionFlag flag, int state) | |
66 | if (state) | |
67 | gpt_part_data->raid | |
68 | = gpt_part_data->lvm | |
69 | + = gpt_part_data->swap | |
70 | = gpt_part_data->bios_grub | |
71 | = gpt_part_data->hp_service | |
72 | = gpt_part_data->msftres | |
73 | @@ -1650,6 +1661,7 @@ gpt_partition_set_flag (PedPartition *part, PedPartitionFlag flag, int state) | |
74 | if (state) | |
75 | gpt_part_data->raid | |
76 | = gpt_part_data->lvm | |
77 | + = gpt_part_data->swap | |
78 | = gpt_part_data->boot | |
79 | = gpt_part_data->hp_service | |
80 | = gpt_part_data->msftres | |
81 | @@ -1664,6 +1676,7 @@ gpt_partition_set_flag (PedPartition *part, PedPartitionFlag flag, int state) | |
82 | if (state) | |
83 | gpt_part_data->boot | |
84 | = gpt_part_data->lvm | |
85 | + = gpt_part_data->swap | |
86 | = gpt_part_data->bios_grub | |
87 | = gpt_part_data->hp_service | |
88 | = gpt_part_data->msftres | |
89 | @@ -1677,6 +1690,22 @@ gpt_partition_set_flag (PedPartition *part, PedPartitionFlag flag, int state) | |
90 | gpt_part_data->lvm = state; | |
91 | if (state) | |
92 | gpt_part_data->boot | |
93 | + = gpt_part_data->swap | |
94 | + = gpt_part_data->raid | |
95 | + = gpt_part_data->bios_grub | |
96 | + = gpt_part_data->hp_service | |
97 | + = gpt_part_data->msftres | |
98 | + = gpt_part_data->msftdata | |
99 | + = gpt_part_data->msftrecv | |
100 | + = gpt_part_data->prep | |
101 | + = gpt_part_data->irst | |
102 | + = gpt_part_data->atvrecv = 0; | |
103 | + return gpt_partition_set_system (part, part->fs_type); | |
104 | + case PED_PARTITION_SWAP: | |
105 | + gpt_part_data->swap = state; | |
106 | + if (state) | |
107 | + gpt_part_data->boot | |
108 | + = gpt_part_data->lvm | |
109 | = gpt_part_data->raid | |
110 | = gpt_part_data->bios_grub | |
111 | = gpt_part_data->hp_service | |
112 | @@ -1693,6 +1722,7 @@ gpt_partition_set_flag (PedPartition *part, PedPartitionFlag flag, int state) | |
113 | gpt_part_data->boot | |
114 | = gpt_part_data->raid | |
115 | = gpt_part_data->lvm | |
116 | + = gpt_part_data->swap | |
117 | = gpt_part_data->bios_grub | |
118 | = gpt_part_data->msftres | |
119 | = gpt_part_data->msftdata | |
120 | @@ -1707,6 +1737,7 @@ gpt_partition_set_flag (PedPartition *part, PedPartitionFlag flag, int state) | |
121 | gpt_part_data->boot | |
122 | = gpt_part_data->raid | |
123 | = gpt_part_data->lvm | |
124 | + = gpt_part_data->swap | |
125 | = gpt_part_data->bios_grub | |
126 | = gpt_part_data->hp_service | |
127 | = gpt_part_data->msftdata | |
128 | @@ -1721,6 +1752,7 @@ gpt_partition_set_flag (PedPartition *part, PedPartitionFlag flag, int state) | |
129 | gpt_part_data->boot | |
130 | = gpt_part_data->raid | |
131 | = gpt_part_data->lvm | |
132 | + = gpt_part_data->swap | |
133 | = gpt_part_data->bios_grub | |
134 | = gpt_part_data->hp_service | |
135 | = gpt_part_data->msftres | |
136 | @@ -1739,6 +1771,7 @@ gpt_partition_set_flag (PedPartition *part, PedPartitionFlag flag, int state) | |
137 | gpt_part_data->boot | |
138 | = gpt_part_data->raid | |
139 | = gpt_part_data->lvm | |
140 | + = gpt_part_data->swap | |
141 | = gpt_part_data->bios_grub | |
142 | = gpt_part_data->hp_service | |
143 | = gpt_part_data->msftdata | |
144 | @@ -1753,6 +1786,7 @@ gpt_partition_set_flag (PedPartition *part, PedPartitionFlag flag, int state) | |
145 | gpt_part_data->boot | |
146 | = gpt_part_data->raid | |
147 | = gpt_part_data->lvm | |
148 | + = gpt_part_data->swap | |
149 | = gpt_part_data->bios_grub | |
150 | = gpt_part_data->hp_service | |
151 | = gpt_part_data->msftres | |
152 | @@ -1766,6 +1800,7 @@ gpt_partition_set_flag (PedPartition *part, PedPartitionFlag flag, int state) | |
153 | gpt_part_data->boot | |
154 | = gpt_part_data->raid | |
155 | = gpt_part_data->lvm | |
156 | + = gpt_part_data->swap | |
157 | = gpt_part_data->bios_grub | |
158 | = gpt_part_data->hp_service | |
159 | = gpt_part_data->msftres | |
160 | @@ -1779,6 +1814,7 @@ gpt_partition_set_flag (PedPartition *part, PedPartitionFlag flag, int state) | |
161 | gpt_part_data->boot | |
162 | = gpt_part_data->raid | |
163 | = gpt_part_data->lvm | |
164 | + = gpt_part_data->swap | |
165 | = gpt_part_data->bios_grub | |
166 | = gpt_part_data->hp_service | |
167 | = gpt_part_data->msftres | |
168 | @@ -1793,7 +1829,6 @@ gpt_partition_set_flag (PedPartition *part, PedPartitionFlag flag, int state) | |
169 | case PED_PARTITION_LEGACY_BOOT: | |
170 | gpt_part_data->legacy_boot = state; | |
171 | return 1; | |
172 | - case PED_PARTITION_SWAP: | |
173 | case PED_PARTITION_ROOT: | |
174 | case PED_PARTITION_LBA: | |
175 | default: | |
176 | @@ -1839,6 +1874,7 @@ gpt_partition_get_flag (const PedPartition *part, PedPartitionFlag flag) | |
177 | case PED_PARTITION_IRST: | |
178 | return gpt_part_data->irst; | |
179 | case PED_PARTITION_SWAP: | |
180 | + return gpt_part_data->swap; | |
181 | case PED_PARTITION_LBA: | |
182 | case PED_PARTITION_ROOT: | |
183 | default: | |
184 | @@ -1855,6 +1891,7 @@ gpt_partition_is_flag_available (const PedPartition *part, | |
185 | { | |
186 | case PED_PARTITION_RAID: | |
187 | case PED_PARTITION_LVM: | |
188 | + case PED_PARTITION_SWAP: | |
189 | case PED_PARTITION_BOOT: | |
190 | case PED_PARTITION_BIOS_GRUB: | |
191 | case PED_PARTITION_HPSERVICE: | |
192 | @@ -1868,7 +1905,6 @@ gpt_partition_is_flag_available (const PedPartition *part, | |
193 | case PED_PARTITION_IRST: | |
194 | case PED_PARTITION_ESP: | |
195 | return 1; | |
196 | - case PED_PARTITION_SWAP: | |
197 | case PED_PARTITION_ROOT: | |
198 | case PED_PARTITION_LBA: | |
199 | default: | |
200 | -- | |
201 | 2.9.3 | |
202 |