summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xperl-install/c/stuff.xs.pl6
-rw-r--r--perl-install/partition_table/gpt.pm2
2 files changed, 5 insertions, 3 deletions
diff --git a/perl-install/c/stuff.xs.pl b/perl-install/c/stuff.xs.pl
index 95e0c0411..e2ab22475 100755
--- a/perl-install/c/stuff.xs.pl
+++ b/perl-install/c/stuff.xs.pl
@@ -587,7 +587,7 @@ get_iso_volume_ids(int fd)
print '
int
-is_partition_ESP(char * device_path, int part_number)
+get_partition_flag(char * device_path, int part_number, char *type)
CODE:
PedDevice *dev = ped_device_get(device_path);
RETVAL = 0;
@@ -598,7 +598,9 @@ is_partition_ESP(char * device_path, int part_number)
if (!part) {
printf("is_partition_ESP: failed to find partition\n");
} else {
- RETVAL=ped_partition_get_flag(part, PED_PARTITION_ESP);
+ PedPartitionFlag flag = string_to_pedpartflag(type);
+ if (flag)
+ RETVAL=ped_partition_get_flag(part, flag);
}
ped_disk_destroy(disk);
}
diff --git a/perl-install/partition_table/gpt.pm b/perl-install/partition_table/gpt.pm
index e59e96184..5de9337e3 100644
--- a/perl-install/partition_table/gpt.pm
+++ b/perl-install/partition_table/gpt.pm
@@ -111,7 +111,7 @@ sub read_one {
# FIXME: just use '@pt = map { ... } c::...' if part_numbers are always linear:
foreach (c::get_disk_partitions($hd->{file})) {
# fix detecting ESP (special case are they're detected through pt_type):
- if (c::is_partition_ESP($hd->{file}, $_->{part_number})) {
+ if (c::get_partition_flag($hd->{file}, $_->{part_number}, 'ESP')) {
$_->{pt_type} = 0xef;
}
@pt[$_->{part_number}-1] = $_;