From e3d14963955b8e25f449bd1eb145115b20947dfd Mon Sep 17 00:00:00 2001 From: Olivier Blin Date: Thu, 20 Mar 2008 01:18:59 +0000 Subject: check available space before formatting and installing (#22764) --- draklive-install | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'draklive-install') diff --git a/draklive-install b/draklive-install index 7c2ab5a..ef23741 100755 --- a/draklive-install +++ b/draklive-install @@ -48,7 +48,7 @@ sub install_live() { display_start_message(); init_hds($in, $all_hds, $fstab); - ask_partitions_loop($in, $all_hds, $fstab); + ask_partitions_loop($in, $all_hds, $fstab, $copy_source); prepare_root($in, $all_hds); copy_root($in, $copy_source); complete_install($in, $all_hds); @@ -111,7 +111,7 @@ sub init_hds { } sub ask_partitions_loop { - my ($in, $all_hds, $fstab) = @_; + my ($in, $all_hds, $fstab, $copy_source) = @_; while (1) { eval { ask_partitions($in, $all_hds, $fstab) }; @@ -122,7 +122,7 @@ sub ask_partitions_loop { } sub ask_partitions { - my ($in, $all_hds, $fstab) = @_; + my ($in, $all_hds, $fstab, $copy_source) = @_; fs::partitioning_wizard::main($in, $all_hds, $fstab, [], undef, {}, 'skip_mtab'); mkdir_p($::prefix) or die "unable to create $::prefix"; @@ -131,6 +131,13 @@ sub ask_partitions { fs::any::check_hds_boot_and_root($all_hds, $fstab); fs::partitioning::choose_partitions_to_format($in, $fstab); umount_all($fstab); + + my $total = get_total_size($in, $copy_source); + my $available = fs::any::getAvailableSpace($fstab, 'skip_mounted'); + die N("Not enough space available (%s available while %s are needed)", + formatXiB($available), formatXiB($total)) . "\n" + if $total > $available; + fs::partitioning::format_mount_partitions($in, $all_hds, $fstab); } -- cgit v1.2.1