diff options
Diffstat (limited to 'perl-install/fs/format.pm')
| -rw-r--r-- | perl-install/fs/format.pm | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/perl-install/fs/format.pm b/perl-install/fs/format.pm index c511cf51d..659fbad04 100644 --- a/perl-install/fs/format.pm +++ b/perl-install/fs/format.pm @@ -1,4 +1,4 @@ -package fs::format; # $Id: format.pm 268842 2010-05-17 06:54:44Z pterjan $ +package fs::format; use diagnostics; use strict; @@ -23,7 +23,7 @@ my %cmds = ( swap => [ 'util-linux', 'mkswap' ], ntfs => [ 'ntfsprogs', 'mkntfs', '--fast' ], 'ntfs-3g' => [ 'ntfsprogs', 'mkntfs', '--fast' ], - btrfs => [ 'btrfs-progs', 'mkfs.btrfs' ], + btrfs => [ 'btrfs-progs', 'mkfs.btrfs', '-f' ], nilfs2 => [ 'nilfs-utils', 'mkfs.nilfs2' ], ); @@ -64,7 +64,7 @@ my %edit_LABEL = ( # package, command, option ); # Preserve UUID on fs where we couldn't enforce it while formatting -my %preserve_UUID = ( # package, commande +my %preserve_UUID = ( # package, command #btrfs => [ 'btrfs-progs', 'FIXME' ], jfs => [ 'jfsutils', 'jfs_tune', ], xfs => [ 'xfsprogs', 'xfs_admin' ], @@ -114,6 +114,7 @@ sub part { $wait_message->(N("Formatting partition %s", $part->{device})) if $wait_message; part_raw($part, $wait_message); } + undef $part->{toFormat}; } sub write_label { @@ -193,8 +194,10 @@ sub part_raw { delete $part->{device_LABEL_changed}; # Preserve UUID on fs where we couldn't enforce it while formatting - (undef, $cmd) = @{$preserve_UUID{$fs_type}}; - run_program::raw($cmd, '-U', devices::make($dev)) if $cmd; + if (my $uuid_cmd = $preserve_UUID{$fs_type}) { + (undef, $cmd) = @$uuid_cmd; + run_program::raw({}, $cmd, '-U', devices::make($dev)) if $cmd; + } if (member($fs_type, qw(ext3 ext4))) { disable_forced_fsck($dev); |
