Index: perl-install/standalone/diskdrake =================================================================== --- perl-install/standalone/diskdrake (revision 6209) +++ perl-install/standalone/diskdrake (working copy) @@ -71,15 +71,8 @@ $in->exit(0); } -my $all_hds = fsedit::get_hds({}, $in); +my $all_hds = reload(); -fs::get_raw_hds('', $all_hds); - -fs::get_info_from_fstab($all_hds); -fs::merge_info_from_mtab([ fs::get::really_all_fstab($all_hds) ]); - -$all_hds->{current_fstab} = fs::fstab_to_string($all_hds, ''); - if ($type eq 'list-hd') { print partition_table::description($_), "\n" foreach fs::get::fstab($all_hds); } elsif ($type eq 'change-geometry') { @@ -90,7 +83,7 @@ partition_table::write($hd); } elsif ($type eq 'hd') { require diskdrake::interactive; - diskdrake::interactive::main($in, $all_hds, ''); + diskdrake::interactive::main($in, $all_hds, \&reload); } elsif ($type eq 'removable') { require diskdrake::removable; my ($raw_hd) = $para ? @@ -119,3 +112,15 @@ } $in->exit(0); + +sub reload { + my $all_hds = fsedit::get_hds({}, $in); + + fs::get_raw_hds('', $all_hds); + + fs::get_info_from_fstab($all_hds); + fs::merge_info_from_mtab([ fs::get::really_all_fstab($all_hds) ]); + + $all_hds->{current_fstab} = fs::fstab_to_string($all_hds, ''); + return $all_hds; +} Index: perl-install/diskdrake/hd_gtk.pm =================================================================== --- perl-install/diskdrake/hd_gtk.pm (revision 6209) +++ perl-install/diskdrake/hd_gtk.pm (working copy) @@ -190,7 +190,7 @@ my @actions = ( diskdrake::interactive::general_possible_actions($in, $all_hds), - N_("Done")); + N_("Refresh"), N_("Done")); my $box_end = gtknew('HButtonBox', layout => 'end', spacing => 5); foreach my $s (@actions) { my $button = Gtk2::Button->new(translate($s)); Index: perl-install/diskdrake/interactive.pm =================================================================== --- perl-install/diskdrake/interactive.pm (revision 6209) +++ perl-install/diskdrake/interactive.pm (working copy) @@ -273,6 +273,11 @@ if_($::isInstall, N_("More")); } +sub Refresh { + my ($in, $all_hds) = @_; + return "force_reload"; +} + sub Done { my ($in, $all_hds) = @_; eval { raid::verify($all_hds->{raids}) };