3 # Activate, deactivate, delete or make a filesystem on a raid set
5 require './raid-lib.pl';
7 $conf = &get_raidtab();
8 $in{'idx'} eq '' && &error($text{'delete_eidx'});
9 $old = $conf->[$in{'idx'}];
13 if (!$in{'confirm'}) {
15 &ui_print_header(undef, $text{'delete_title'}, "");
18 print &ui_form_start("save_raid.cgi");
19 print &ui_hidden("delete", 1);
20 print &ui_hidden("idx", $in{'idx'});
21 print &text('delete_rusure', "<tt>$old->{'value'}</tt>",
22 &nice_size($old->{'size'}*1024)),"<p>\n";
23 print &ui_form_end([ [ "confirm", $text{'delete_ok'} ] ]);
26 &ui_print_footer("", $text{'index_return'});
34 &webmin_log("delete", undef, $old->{'value'});
39 # Display form for making a filesystem
40 &ui_print_header(undef, $text{'mkfs_title'}, "");
42 print &text('mkfs_header2', "<tt>$old->{'value'}</tt>",
44 print &ui_form_start("mkfs.cgi");
45 print &ui_hidden("idx", $in{'idx'});
46 print &ui_hidden("fs", $in{'fs'});
47 print &ui_table_start($text{'mkfs_options'}, undef, 4);
48 &fdisk::mkfs_options($in{'fs'});
49 print &ui_table_end();
50 print &ui_form_end([ [ undef, $text{'create'} ] ]);
52 &ui_print_footer("", $text{'index_return'});
54 elsif ($in{'start'}) {
57 &webmin_log("start", undef, $old->{'value'});
62 &deactivate_raid($old);
63 &webmin_log("stop", undef, $old->{'value'});
67 # Add a disk to a RAID set
69 &add_partition($old, $in{'disk'});
71 &webmin_log("add", undef, $old->{'value'}, { 'disk' => $in{'disk'} } );
77 &grow($old, $in{'ndisk_grow'});
79 &webmin_log("grow", undef, $old->{'value'}, { 'disk' => $in{'ndisk_grow'} } );
82 elsif ($in{'remove'}) {
83 # Remove a disk from a RAID set
85 &remove_partition($old, $in{'rdisk'});
87 &webmin_log("remove", undef, $old->{'value'}, { 'disk' => $in{'rdisk'} } );
90 elsif ($in{'remove_det'}) {
91 # Remove detached disk(s) from a RAID set
93 &remove_detached($old);
97 elsif ($in{'convert_to_raid6'}) {
98 # Convert RAID level to RAID6
100 &convert_raid($old, $in{'oldcount'}, $in{'ndisk_convert'}, 6);
101 &unlock_raid_files();
102 &webmin_log("convert_to_raid6", undef, $old->{'value'}, { 'disk' => $in{'ndisk_convert'} } );
105 elsif ($in{'convert_to_raid5'}) {
106 # Convert RAID level to RAID5
108 &convert_raid($old, $in{'oldcount'}, undef, 5);
109 &unlock_raid_files();
110 &webmin_log("convert_to_raid5", undef, $old->{'value'}, undef );
113 elsif ($in{'mount'} || $in{'mountswap'}) {
114 # Re-direct to mount module
115 $type = $in{'mountswap'} ? "swap" :
116 $config{'lasttype_'.$old->{'value'}} || "ext2";
117 &redirect("../mount/edit_mount.cgi?newdev=$old->{'value'}&".
118 "newdir=".&urlize($in{'newdir'})."&".