Use snapshot size when editing

This commit is contained in:
Jamie Cameron
2013-10-18 15:37:10 -07:00
parent d3628932df
commit bae0781d5a
2 changed files with 7 additions and 5 deletions

View File

@@ -32,11 +32,12 @@ print &ui_hidden("lv", $in{'lv'});
print &ui_hidden("snap", $in{'snap'});
print &ui_table_start($text{'lv_header'}, "width=100%", 4);
$show_size = $lv->{'cow_size'} || $lv->{'size'};
if (!&can_resize_lv_stat(@stat)) {
# Current status
print &ui_table_row($text{'lv_name'}, $lv->{'name'});
print &ui_table_row($text{'lv_size'}, &nice_size($lv->{'size'}*1024));
print &ui_table_row($text{'lv_size'}, &nice_size($show_size * 1024));
}
else {
# Details for new LV
@@ -57,7 +58,7 @@ else {
print &ui_table_row($text{'lv_size'},
&ui_radio_table("size_mode", 0,
[ [ 0, $text{'lv_size0'},
&ui_bytesbox("size", $lv->{'size'}*1024, 8) ],
&ui_bytesbox("size", $show_size * 1024, 8) ],
[ 1, $text{'lv_size1'},
&ui_textbox("vgsize", undef, 4)."%" ],
[ 2, $text{'lv_size2'},
@@ -72,7 +73,7 @@ else {
# Check if size is exactly some number of TB, GB or MB, less
# than 10240
$div = 1024*1024*1024;
$size = $lv->{'size'}*1024;
$size = $show_size*1024;
$nice = 0;
while($div >= 1024) {
$frac = $size*1.0 / $div;
@@ -95,7 +96,7 @@ else {
print &ui_table_row($text{'lv_size'},
&ui_radio_table("size_mode", 4,
[ [ 4, $text{'lv_sizeabs'},
&ui_textbox("sizekb", $lv->{'size'}, 8).
&ui_textbox("sizekb", $show_size, 8).
" kB" ],
[ 0, $text{'lv_sizesimple'},
&ui_bytesbox("size", $size, 8) ],

View File

@@ -135,7 +135,8 @@ else {
}
elsif ($lv->{'is_snap'}) {
# Modifying a snapshot
if ($lv->{'size'} != $size) {
$oldsize = $lv->{'cow_size'} || $lv->{'size'};
if ($oldsize != $size) {
$err = &resize_logical_volume($lv, $size);
&error("<pre>$err</pre>") if ($err);
$lv->{'size'} = $size;