summaryrefslogtreecommitdiffstats
path: root/perl-install/fs/proc_partitions.pm
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/fs/proc_partitions.pm')
-rw-r--r--perl-install/fs/proc_partitions.pm12
1 files changed, 8 insertions, 4 deletions
diff --git a/perl-install/fs/proc_partitions.pm b/perl-install/fs/proc_partitions.pm
index 566f9ee70..a6006a3bb 100644
--- a/perl-install/fs/proc_partitions.pm
+++ b/perl-install/fs/proc_partitions.pm
@@ -1,4 +1,4 @@
-package fs::proc_partitions; # $Id$
+package fs::proc_partitions;
use common;
@@ -6,8 +6,12 @@ use common;
sub read_raw() {
my (undef, undef, @all) = cat_("/proc/partitions");
grep {
- $_->{size} != 1 && # skip main extended partition
- $_->{size} != 0x3fffffff; # skip cdroms (otherwise stops cd-audios)
+ $_->{size} != 1 && # skip main extended partition
+ $_->{size} != 0x3fffffff && # skip cdroms (otherwise stops cd-audios)
+ $_->{dev} !~ /mmcblk\d+[^p]/; # only keep partitions like mmcblk0p0
+ # not mmcblk0rpmb or mmcblk0boot0 as they
+ # are not in the partition table and
+ # things will break (mga#15759)
} map {
my %l;
@l{qw(major minor size dev)} = split;
@@ -61,7 +65,7 @@ sub compare {
log::l("not using /proc/partitions because of the presence of solaris extended partition"); #- cf #33866
} else {
die sprintf(
- "/proc/partitions does not agree with drakx %d != %d:\n%s\n", $len1, $len2,
+ "/proc/partitions does not agree with drakx %d != %d for %s:\n%s\n", $len1, $len2, $hd->{device},
"/proc/partitions: " . join(", ", map { "$_->{device} ($_->{rootDevice})" } @l2));
}
}