diff options
author | Martin Whitaker <mageia@martin-whitaker.me.uk> | 2019-04-20 11:20:01 +0100 |
---|---|---|
committer | Martin Whitaker <mageia@martin-whitaker.me.uk> | 2019-04-20 21:35:26 +0100 |
commit | 9602565a6c602906acb96c3192d8ff168ef5ebea (patch) | |
tree | 5024359916b0fd2f0950aa8f1b5a452917fc8617 | |
parent | 6bb20f31aafa5345a949f6439df330e06a8d29bd (diff) | |
download | drakx-9602565a6c602906acb96c3192d8ff168ef5ebea.tar drakx-9602565a6c602906acb96c3192d8ff168ef5ebea.tar.gz drakx-9602565a6c602906acb96c3192d8ff168ef5ebea.tar.bz2 drakx-9602565a6c602906acb96c3192d8ff168ef5ebea.tar.xz drakx-9602565a6c602906acb96c3192d8ff168ef5ebea.zip |
Minimise calls to ped_disk_probe() when writing partition tables.
-rw-r--r-- | perl-install/partition_table.pm | 2 | ||||
-rw-r--r-- | perl-install/partition_table/gpt.pm | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/perl-install/partition_table.pm b/perl-install/partition_table.pm index da8a15b6e..13715852f 100644 --- a/perl-install/partition_table.pm +++ b/perl-install/partition_table.pm @@ -273,6 +273,7 @@ sub initialize { my $current = c::get_disk_type($hd->{file}); $current = 'dos' if $current eq 'msdos'; + $hd->{current_pt_table_type} = $current; my $type = $o_type || $current || default_type($hd); $hd->{pt_table_type} = $type; @@ -564,6 +565,7 @@ sub write { $hd->write($handle, $_->{start}, $_->{raw}) or die "writing of partition table failed"; } $hd->end_write($handle); + $hd->{current_pt_table_type} = $hd->{pt_table_type}; $hd->{isDirty} = 0; if (my $tell_kernel = delete $hd->{will_tell_kernel}) { diff --git a/perl-install/partition_table/gpt.pm b/perl-install/partition_table/gpt.pm index e1c07a761..af5509f27 100644 --- a/perl-install/partition_table/gpt.pm +++ b/perl-install/partition_table/gpt.pm @@ -87,7 +87,7 @@ sub write { my $partitions_killed; # Initialize the disk if current partition table is not gpt - if (c::get_disk_type($hd->{file}) ne "gpt") { + if ($hd->{current_pt_table_type} ne "gpt") { $ped_disk = c::disk_open($hd->{file}, "gpt") or die "failed to create new partition table on $hd->{file}"; $partitions_killed = 1; } else { |