Current File : //usr/share/webmin/lvm/thin_form.cgi
#!/usr/bin/perl
# Display a form for creating a new thinpool from two LVs

require './lvm-lib.pl';
&ReadParse();
($vg) = grep { $_->{'name'} eq $in{'vg'} } &list_volume_groups();
$vg || &error($text{'vg_egone'});

# Find LVs that aren't in use
my @lvs;
foreach my $lv (&list_logical_volumes($in{'vg'})) {
	next if ($lv->{'is_snap'});
	my @stat = &device_status($lv->{'device'});
	next if (@stat);
	push(@lvs, $lv);
	}
@lvs || &error($text{'thin_elvs'});
@lvsel = map { [ $_->{'name'},
		 $_->{'name'}." (".&nice_size($_->{'size'} * 1024).")" ] } @lvs;

$vgdesc = &text('lv_vg', $vg->{'name'});
&ui_print_header($vgdesc, $text{'thin_title'}, "");

print $text{'thin_desc'},"<p>\n";

print &ui_form_start("thin_create.cgi", "post");
print &ui_hidden("vg", $in{'vg'});
print &ui_table_start($text{'thin_header'}, undef, 2);

# Data LV
print &ui_table_row($text{'thin_datalv'},
	&ui_select("data", undef, \@lvsel));

# Metadata LV
print &ui_table_row($text{'thin_metadatalv'},
	&ui_select("metadata", undef, \@lvsel));

print &ui_table_end();
print &ui_form_end([ [ undef, $text{'thin_ok'} ] ]);

&ui_print_footer("index.cgi?mode=lvs", $text{'index_return'});