| Server IP : 172.67.134.114 / Your IP : 104.23.197.123 Web Server : Apache/2.4.37 System : Linux almalinux.duckdns.org 4.18.0-553.111.1.el8_10.x86_64 #1 SMP Sun Mar 8 20:06:07 EDT 2026 x86_64 User : ricodeal ( 1046) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/libexec/webmin/lvm/ |
Upload File : |
#!/usr/bin/perl
# save_pv.cgi
# Create, modify or delete a physical volume
require './lvm-lib.pl';
&ReadParse();
($vg) = grep { $_->{'name'} eq $in{'vg'} } &list_volume_groups();
$vg || &error($text{'vg_egone'});
if ($in{'pv'}) {
($pv) = grep { $_->{'name'} eq $in{'pv'} }
&list_physical_volumes($in{'vg'});
$pv || &error($text{'pv_egone'});
}
if ($in{'confirm'}) {
# Delete the physical volume
&error_setup($text{'pv_err2'});
$err = &delete_physical_volume($pv);
&error("<pre>$err</pre>") if ($err);
&webmin_log("delete", "pv", $in{'pv'}, $pv);
&redirect("index.cgi?mode=pvs");
}
elsif ($in{'delete'}) {
# Ask the user if he is sure
&ui_print_header(undef, $text{'pv_delete'}, "");
print "<center>\n";
print &ui_form_start("save_pv.cgi");
print &ui_hidden("vg", $in{'vg'});
print &ui_hidden("pv", $in{'pv'});
print "<b>",&text('pv_rusure',
"<tt>$pv->{'device'}</tt>"),"</b><p>\n";
print &ui_form_end([ [ 'confirm', $text{'pv_deleteok'} ] ]);
print "</center>\n";
&ui_print_footer("index.cgi?mode=pvs", $text{'index_return2'});
}
elsif ($in{'resize'}) {
# Scale up to match device
&error_setup($text{'pv_err3'});
$err = &resize_physical_volume($pv);
&error("<pre>$err</pre>") if ($err);
&webmin_log("resize", "pv", $in{'pv'}, $pv);
&redirect("index.cgi?mode=pvs");
}
else {
&error_setup($text{'pv_err'});
if (!$in{'pv'}) {
# Add the physical volume
$pv = { 'vg' => $in{'vg'},
'alloc' => 'y' };
if ($in{'device'}) {
$pv->{'device'} = $in{'device'};
}
else {
-r $in{'other'} || &error($text{'pv_eother'});
$pv->{'device'} = $in{'other'};
}
$err = &create_physical_volume($pv, $in{'force'});
&error("<pre>$err</pre>") if ($err);
}
# Change the volume
if ($pv->{'alloc'} ne $in{'alloc'}) {
$pv->{'alloc'} = $in{'alloc'};
$err = &change_physical_volume($pv);
&error("<pre>$err</pre>") if ($err);
}
&webmin_log($in{'pv'} ? "modify" : "create", "pv", $pv->{'device'},$pv);
&redirect("index.cgi?mode=pvs");
}