From 8c1b77dc5934c4ad1bf9aa8ed11758eef7290bc7 Mon Sep 17 00:00:00 2001 From: Martin Whitaker Date: Sun, 2 Apr 2017 20:02:13 +0100 Subject: 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. --- perl-install/fs/proc_partitions.pm | 6 +++--- 1 file 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 -- cgit v1.2.1