mirror of
git://sourceware.org/git/lvm2.git
synced 2025-01-03 05:18:29 +03:00
vdo: properly check percentage for resize
Avoid checking 'lv_is_active()' since special LV types does this validation anyway what calling _percent() function and call it ONLY when none of special types is queried. This restores support for VDO resize (as with support for separate VDO pool activation, plain query for lv_is_active() is not working in this case).
This commit is contained in:
parent
c813db8fc2
commit
a98b77c164
@ -4850,12 +4850,6 @@ static int _lvresize_adjust_policy(const struct logical_volume *lv,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!lv_is_active(lv)) {
|
|
||||||
log_error("Can't read state of locally inactive LV %s.",
|
|
||||||
display_lvname(lv));
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (lv_is_thin_pool(lv)) {
|
if (lv_is_thin_pool(lv)) {
|
||||||
if (!lv_thin_pool_percent(lv, 1, &percent))
|
if (!lv_thin_pool_percent(lv, 1, &percent))
|
||||||
return_0;
|
return_0;
|
||||||
@ -4870,9 +4864,12 @@ static int _lvresize_adjust_policy(const struct logical_volume *lv,
|
|||||||
} else if (lv_is_vdo_pool(lv)) {
|
} else if (lv_is_vdo_pool(lv)) {
|
||||||
if (!lv_vdo_pool_percent(lv, &percent))
|
if (!lv_vdo_pool_percent(lv, &percent))
|
||||||
return_0;
|
return_0;
|
||||||
} else {
|
} else if (!lv_snapshot_percent(lv, &percent))
|
||||||
if (!lv_snapshot_percent(lv, &percent))
|
|
||||||
return_0;
|
return_0;
|
||||||
|
else if (!lv_is_active(lv)) {
|
||||||
|
log_error("Can't read state of locally inactive LV %s.",
|
||||||
|
display_lvname(lv));
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
*amount = _adjust_amount(percent, policy_threshold, policy_amount);
|
*amount = _adjust_amount(percent, policy_threshold, policy_amount);
|
||||||
|
Loading…
Reference in New Issue
Block a user