summaryrefslogtreecommitdiffstats
path: root/perl-install/install_steps_interactive.pm
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/install_steps_interactive.pm')
-rw-r--r--perl-install/install_steps_interactive.pm19
1 files changed, 12 insertions, 7 deletions
diff --git a/perl-install/install_steps_interactive.pm b/perl-install/install_steps_interactive.pm
index 68e986898..ffbc9ad82 100644
--- a/perl-install/install_steps_interactive.pm
+++ b/perl-install/install_steps_interactive.pm
@@ -468,13 +468,18 @@ sub choosePartitionsToFormat {
sub formatMountPartitions {
my ($o, $fstab) = @_;
my $w;
- fs::formatMount_all($o->{all_hds}{raids}, $o->{fstab}, $o->{prefix}, sub {
- my ($part) = @_;
- $w ||= $o->wait_message('', _("Formatting partitions"));
- $w->set(isLoopback($part) ?
- _("Creating and formatting file %s", $part->{loopback_file}) :
- _("Formatting partition %s", $part->{device}));
- });
+ catch_cdie {
+ fs::formatMount_all($o->{all_hds}{raids}, $o->{fstab}, $o->{prefix}, sub {
+ my ($part) = @_;
+ $w ||= $o->wait_message('', _("Formatting partitions"));
+ $w->set(isLoopback($part) ?
+ _("Creating and formatting file %s", $part->{loopback_file}) :
+ _("Formatting partition %s", $part->{device}));
+ });
+ } sub {
+ $@ =~ /fsck failed on (\S+)/ or return;
+ $o->ask_yesorno('', _("Failed to check filesystem %s. Do you want to repair the errors? (beware, you can loose data)", $1), 1);
+ };
die _("Not enough swap space to fulfill installation, please add some") if availableMemory < 40 * 1024;
}