summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--perl-install/fsedit.pm1
-rwxr-xr-xperl-install/standalone/diskdrake10
2 files changed, 6 insertions, 5 deletions
diff --git a/perl-install/fsedit.pm b/perl-install/fsedit.pm
index 5610adc42..1ca1f1b72 100644
--- a/perl-install/fsedit.pm
+++ b/perl-install/fsedit.pm
@@ -148,6 +148,7 @@ sub hds {
eval { partition_table::read($hd, $flags->{clearall} || member($_->{device}, @{$flags->{clear} || []})) };
if ($@) {
+ cdie "ask_before_blanking:$@";
partition_table_raw::zero_MBR($hd);
}
member($_->{device}, @{$flags->{clear} || []}) and partition_table::remove($hd, $_)
diff --git a/perl-install/standalone/diskdrake b/perl-install/standalone/diskdrake
index 414a261fa..8786887d2 100755
--- a/perl-install/standalone/diskdrake
+++ b/perl-install/standalone/diskdrake
@@ -67,13 +67,13 @@ my ($all_hds) =
catch_cdie { fsedit::hds([ detect_devices::hds() ], {}) }
sub {
my $err = formatError($@);
- if ($err =~ /overlapping/) {
- $in->ask_warn('', $err);
- 1;
- } else {
- !$in->ask_okcancel(_("Error"),
+ if ($err =~ s/ask_before_blanking://) {
+ $in->ask_okcancel(_("Error"),
[_("I can't read your partition table, it's too corrupted for me :(
I'll try to go on blanking bad partitions"), $err]);
+ } else {
+ $in->ask_warn('', $err);
+ 1;
}
};