Handle hostnames with upper-case letters
[webmin.git] / fdisk / edit_relabel.cgi
1 #!/usr/local/bin/perl
2 # Show a form to re-write a disks partition table
3
4 require './fdisk-lib.pl';
5 &ReadParse();
6 &can_edit_disk($in{'device'}) || &error($text{'disk_ecannot'});
7
8 # Get the disk
9 @disks = &list_disks_partitions();
10 ($d) = grep { $_->{'device'} eq $in{'device'} } @disks;
11 $d || &error($text{'disk_egone'});
12 @parts = @{$d->{'parts'}};
13 if (!@parts && $d->{'cylinders'} * $d->{'cylsize'} > 2*1024*1024*1024*1024) {
14         # Recommend GPT format for new large disks
15         $d->{'table'} = 'gpt';
16         }
17 elsif (!@parts) {
18         $d->{'table'} = $config{'format'};
19         }
20
21 &ui_print_header($d->{'desc'}, $text{'relabel_title'}, "");
22
23 print "<b>",&text('relabel_warn', $d->{'desc'}, $d->{'device'}),"</b><p>\n";
24
25 print &ui_form_start("relabel.cgi");
26 print &ui_hidden("device", $in{'device'});
27 print &ui_table_start(undef, undef, 2);
28
29 print &ui_table_row($text{'relabel_parts'},
30         join(", ", map { &tag_name($_->{'type'})." ".
31                          &nice_size(($_->{'end'} - $_->{'start'} + 1) *
32                                     $d->{'cylsize'}) } @parts) ||
33         $text{'relabel_noparts'});
34
35 print &ui_table_row($text{'relabel_table'},
36         &ui_select("table", $d->{'table'},
37                    [ map { [ $_, $text{'table_'.$_} || uc($_) ] }
38                          &list_table_types($d) ]));
39
40 print &ui_table_end();
41 print &ui_form_end([ [ undef, $text{'relabel_ok'} ] ]);
42
43 &ui_print_footer("edit_disk.cgi?device=$dinfo->{'device'}",
44                  $text{'disk_return'});
45