diff options
Diffstat (limited to 'perl-install/fs/proc_partitions.pm')
| -rw-r--r-- | perl-install/fs/proc_partitions.pm | 12 |
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)); } } |
