summaryrefslogtreecommitdiffstats
path: root/perl-install/fs
diff options
context:
space:
mode:
authorMartin Whitaker <mageia@martin-whitaker.me.uk>2017-04-02 20:02:13 +0100
committerRĂ©mi Verschelde <rverschelde@gmail.com>2017-04-04 20:04:51 +0200
commit8c1b77dc5934c4ad1bf9aa8ed11758eef7290bc7 (patch)
treed534260c1259bc4a9fb1cc9b73c50c468e015ba2 /perl-install/fs
parent23db13194282cfff24d4bc88a7790ebd272953a0 (diff)
downloaddrakx-8c1b77dc5934c4ad1bf9aa8ed11758eef7290bc7.tar
drakx-8c1b77dc5934c4ad1bf9aa8ed11758eef7290bc7.tar.gz
drakx-8c1b77dc5934c4ad1bf9aa8ed11758eef7290bc7.tar.bz2
drakx-8c1b77dc5934c4ad1bf9aa8ed11758eef7290bc7.tar.xz
drakx-8c1b77dc5934c4ad1bf9aa8ed11758eef7290bc7.zip
Speed up proc_partitions::compare() and avoid unwanted udev events.
The compare function doesn't look at the filesystem type, so there's no need to probe it. This avoids unwanted udev events when we are checking that the kernel has been informed of partition table changes.
Diffstat (limited to 'perl-install/fs')
-rw-r--r--perl-install/fs/proc_partitions.pm6
1 files changed, 3 insertions, 3 deletions
diff --git a/perl-install/fs/proc_partitions.pm b/perl-install/fs/proc_partitions.pm
index a6006a3bb..ea714ca5b 100644
--- a/perl-install/fs/proc_partitions.pm
+++ b/perl-install/fs/proc_partitions.pm
@@ -20,7 +20,7 @@ sub read_raw() {
}
sub read {
- my ($hds) = @_;
+ my ($hds, $o_ignore_fstype) = @_;
my @all = read_raw();
my ($parts, $_disks) = partition { $_->{dev} =~ /\d$/ && $_->{dev} !~ /^(sr|scd)/ } @all;
@@ -40,7 +40,7 @@ sub read {
$part->{size} *= 2; # from KB to sectors
$part->{start} = $prev_part ? $prev_part->{start} + $prev_part->{size} : 0;
require fs::type;
- put_in_hash($part, fs::type::type_subpart_from_magic($part));
+ put_in_hash($part, fs::type::type_subpart_from_magic($part)) if !$o_ignore_fstype;
$prev_part = $part;
delete $part->{dev}; # cleanup
}
@@ -54,7 +54,7 @@ sub compare {
my @l1 = partition_table::get_normal_parts($hd);
- my @l2 = grep { $_->{rootDevice} eq $hd->{device} } &read([$hd]);
+ my @l2 = grep { $_->{rootDevice} eq $hd->{device} } &read([$hd], 1);
#- /proc/partitions includes partition with type "empty" and a non-null size
#- so add them for comparison