summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThierry Vignaud <thierry.vignaud@gmail.com>2015-03-27 08:45:06 -0400
committerThomas Backlund <tmb@mageia.org>2015-03-27 22:33:03 +0159
commit281d55f77a148cb8fafd4e73912c31e06d81acf4 (patch)
treeb53f925892b35cf60b00090c8f5d8717651ffb70
parent6deb0e59982c923021492993bb6ed134183ce494 (diff)
downloaddrakx-281d55f77a148cb8fafd4e73912c31e06d81acf4.tar
drakx-281d55f77a148cb8fafd4e73912c31e06d81acf4.tar.gz
drakx-281d55f77a148cb8fafd4e73912c31e06d81acf4.tar.bz2
drakx-281d55f77a148cb8fafd4e73912c31e06d81acf4.tar.xz
drakx-281d55f77a148cb8fafd4e73912c31e06d81acf4.zip
fix failing to read partition table (mga#13592, mga#15272)
this is making it more readable regarding: "I cannot read the partition table of device XXX, it is too corrupted" (mga#13592, mga#15272, mga#15472)
-rw-r--r--perl-install/NEWS1
-rw-r--r--perl-install/install/NEWS1
-rw-r--r--perl-install/partition_table/raw.pm3
3 files changed, 4 insertions, 1 deletions
diff --git a/perl-install/NEWS b/perl-install/NEWS
index 8f2a47200..7c2b16dbd 100644
--- a/perl-install/NEWS
+++ b/perl-install/NEWS
@@ -1,4 +1,5 @@
- diskdrake (GPT):
+ o fix "I cannot read the partition table of device XXX, it is too corrupted"
o fix retrieving LVM/RAID/swap partition type
o fix tagging lvm/raid as "linux filesystem"
o fix tagging ntfs-3g as "linux filesystem"
diff --git a/perl-install/install/NEWS b/perl-install/install/NEWS
index 25812d616..9dd92dd37 100644
--- a/perl-install/install/NEWS
+++ b/perl-install/install/NEWS
@@ -1,4 +1,5 @@
- GPT partitionning:
+ o fix "I cannot read the partition table of device XXX, it is too corrupted"
o fix retrieving LVM/RAID/swap partition type
o fix tagging lvm/raid as "linux filesystem"
o fix tagging ntfs-3g as "linux filesystem"
diff --git a/perl-install/partition_table/raw.pm b/perl-install/partition_table/raw.pm
index 281bcd98e..11bbbe59c 100644
--- a/perl-install/partition_table/raw.pm
+++ b/perl-install/partition_table/raw.pm
@@ -241,7 +241,8 @@ sub zero_MBR_and_dirty {
sub read_primary {
my ($hd) = @_;
- my ($pt, $info) = eval { $hd->read_one(0) } or return;
+ my ($pt, $info) = eval { $hd->read_one(0) };
+ @$pt or return;
my $primary = partition_table::raw::pt_info_to_primary($hd, $pt, $info);
$hd->{primary} = $primary;
undef $hd->{extended};