diff options
-rwxr-xr-x | draklive | 18 |
1 files changed, 5 insertions, 13 deletions
@@ -747,8 +747,9 @@ sub allocate_master { sub format_master { my ($live, $media, $opts) = @_; - my $hd = get_hd_from_layout($media, $opts->{device}); + $media->supplement_slash_size($opts->{slash_size}) if $opts->{slash_size}; + my $hd = get_hd_from_layout($media, $opts->{device}); partition_table::raw::zero_MBR($hd); #- FIXME: maybe use fsedit::allocatePartitions to factorize even more? @@ -772,10 +773,7 @@ sub format_master { sub format_disk { my ($live, $opts) = @_; - - my $slash_size = guess_disk_master_size($live); - $live->{media}->supplement_slash_size($slash_size); - + local $opts->{slash_size} = guess_disk_master_size($live); format_master($live, $live->{media}, $opts); } @@ -792,10 +790,7 @@ sub guess_disk_master_size { sub create_disk_master { my ($live, $opts) = @_; - - my $slash_size = guess_disk_master_size($live); - $live->{media}->supplement_slash_size($slash_size); - + local $opts->{slash_size} = guess_disk_master_size($live); $opts->{device} ||= get_disk_master_path($live); allocate_master($live, $live->{media}, $opts); format_master($live, $live->{media}, $opts); @@ -1215,10 +1210,7 @@ sub get_disk_replicator_files { sub create_usb_replicator { my ($live, $opts) = @_; my %files = get_disk_replicator_files($live); - - my $size = fold_left { $::a + $::b } map { directory_usage($_, 'apparent') } keys(%files); - $live->{replicator}{media}->supplement_slash_size($size); - + local $opts->{slash_size} = fold_left { $::a + $::b } map { directory_usage($_, 'apparent') } keys(%files); local $opts->{device} = get_disk_replicator_path($live); allocate_master($live, $live->{replicator}{media}, $opts); format_master($live, $live->{replicator}{media}, $opts); |