summaryrefslogtreecommitdiffstats
path: root/perl-install
diff options
context:
space:
mode:
authorPascal Rigaux <pixel@mandriva.com>2005-03-24 11:57:17 +0000
committerPascal Rigaux <pixel@mandriva.com>2005-03-24 11:57:17 +0000
commit97c7fd33d60103086d91d8c88e08fb902de45e29 (patch)
treeaa6cfb5ff86cfac393df47d260125bed108ddb82 /perl-install
parent77776f48d599383668a46d93a32b8de91a8b7ea9 (diff)
downloaddrakx-backup-do-not-use-97c7fd33d60103086d91d8c88e08fb902de45e29.tar
drakx-backup-do-not-use-97c7fd33d60103086d91d8c88e08fb902de45e29.tar.gz
drakx-backup-do-not-use-97c7fd33d60103086d91d8c88e08fb902de45e29.tar.bz2
drakx-backup-do-not-use-97c7fd33d60103086d91d8c88e08fb902de45e29.tar.xz
drakx-backup-do-not-use-97c7fd33d60103086d91d8c88e08fb902de45e29.zip
calling inactivate_and_dirty() on a new structure is bad, we loose the {isFormatted} flag
(no big deal though, it happened because raid::new() was creating a new raid with an already active md name)
Diffstat (limited to 'perl-install')
-rw-r--r--perl-install/diskdrake/interactive.pm6
-rw-r--r--perl-install/raid.pm9
2 files changed, 8 insertions, 7 deletions
diff --git a/perl-install/diskdrake/interactive.pm b/perl-install/diskdrake/interactive.pm
index e478d9e86..c974444d2 100644
--- a/perl-install/diskdrake/interactive.pm
+++ b/perl-install/diskdrake/interactive.pm
@@ -1006,15 +1006,15 @@ sub is_part_existing {
sub modifyRAID {
my ($in, $raids, $md_part) = @_;
- my $prev_device = $md_part->{device};
+ my $new_device = $md_part->{device};
$in->ask_from('', '',
[
-{ label => N("device"), val => \$md_part->{device}, list => [ $md_part->{device}, raid::free_mds($raids) ], sort => 0 },
+{ label => N("device"), val => \$new_device, list => [ $md_part->{device}, raid::free_mds($raids) ], sort => 0 },
{ label => N("level"), val => \$md_part->{level}, list => [ qw(0 1 4 5 linear) ] },
{ label => N("chunk size in KiB"), val => \$md_part->{'chunk-size'} },
],
) or return;
- raid::change_device($md_part, $prev_device);
+ raid::change_device($md_part, $new_device);
raid::updateSize($md_part); # changing the raid level changes the size available
1;
}
diff --git a/perl-install/raid.pm b/perl-install/raid.pm
index d52956935..3b66c8c08 100644
--- a/perl-install/raid.pm
+++ b/perl-install/raid.pm
@@ -56,10 +56,11 @@ sub delete {
}
sub change_device {
- my ($md_part, $prev_device) = @_;
- if ($prev_device ne $md_part->{device}) {
- inactivate_and_dirty({ device => $prev_device });
- $_->{raid} = $md_part->{device} foreach @{$md_part->{disks}};
+ my ($md_part, $new_device) = @_;
+ if ($new_device ne $md_part->{device}) {
+ inactivate_and_dirty($md_part);
+ $md_part->{device} = $new_device;
+ $_->{raid} = $new_device foreach @{$md_part->{disks}};
}
}