3 # Display a form for editing or creating a physical volume
5 require './lvm-lib.pl';
7 ($vg) = grep { $_->{'name'} eq $in{'vg'} } &list_volume_groups();
8 $vg || &error($text{'vg_egone'});
10 $vgdesc = &text('pv_vg', $vg->{'name'});
12 @pvs = &list_physical_volumes($in{'vg'});
13 ($pv) = grep { $_->{'name'} eq $in{'pv'} } @pvs;
14 $pv || &error($text{'pv_egone'});
15 &ui_print_header($vgdesc, $text{'pv_edit'}, "");
18 &ui_print_header($vgdesc, $text{'pv_create'}, "");
19 $pv = { 'alloc' => 'y' };
22 print &ui_form_start("save_pv.cgi");
23 print &ui_hidden("vg", $in{'vg'});
24 print &ui_hidden("pv", $in{'pv'});
25 print &ui_table_start($text{'pv_header'}, "width=100%", 4);
29 print &ui_table_row($text{'pv_device'},
30 &mount::device_name($pv->{'device'}), 3);
33 print &ui_table_row($text{'pv_device'}, &device_input(), 3);
36 # Enabled for allocation
37 print &ui_table_row($text{'pv_alloc'},
38 &ui_radio('alloc', $pv->{'alloc'}, [ [ 'y', $text{'yes'} ],
39 [ 'n', $text{'no'} ] ]));
42 # Details of existing PV
43 print &ui_table_row($text{'pv_size'},
44 &nice_size($pv->{'size'}*1024));
46 print &ui_table_row($text{'pv_petotal'},
47 &text('lv_petotals', $pv->{'pe_alloc'}, $pv->{'pe_total'}));
49 print &ui_table_row($text{'pv_pesize'},
50 &nice_size($pv->{'pe_size'}*1024));
52 print &ui_table_row($text{'pv_petotal2'},
53 &text('lv_petotals', &nice_size($pv->{'pe_alloc'}*$pv->{'pe_size'}*1024), &nice_size($pv->{'pe_total'}*$pv->{'pe_size'}*1024)));
55 # Used by logical volumes
56 @lvinfo = &get_physical_volume_usage($pv);
58 @lvs = &list_logical_volumes($in{'vg'});
59 foreach $l (@lvinfo) {
60 ($lv) = grep { $_->{'name'} eq $l->[0] } @lvs;
61 push(@lvlist, "<a href='edit_lv.cgi?vg=$in{'vg'}&lv=$lv->{'name'}'>$lv->{'name'}</a> ".&nice_size($l->[1]*$pv->{'pe_size'}*1024));
63 print &ui_table_row($text{'pv_lvs'}, join(" , ", @lvlist), 3);
68 print &ui_table_row($text{'pv_force'},
69 &ui_yesno_radio('force', 0), 3);
72 print &ui_table_end();
74 print &ui_form_end([ [ undef, $text{'save'} ],
75 [ 'resize', $text{'pv_resize'} ],
76 @pvs > 1 ? ( [ 'delete', $text{'pv_delete2'} ] )
80 print &ui_form_end([ [ undef, $text{'pv_create2'} ] ]);
83 &ui_print_footer("index.cgi?mode=pvs", $text{'index_return'});