summaryrefslogtreecommitdiffstats
path: root/lib/metadata/lv_manip.c
diff options
context:
space:
mode:
authorZdenek Kabelac <zkabelac@redhat.com>2012-01-25 09:02:35 +0000
committerZdenek Kabelac <zkabelac@redhat.com>2012-01-25 09:02:35 +0000
commit1dede50c854dfae4febe0e3d740266284ed1226c (patch)
tree17a93b98befaf288035a983505e5cd42dfdb36fc /lib/metadata/lv_manip.c
parentc0663a97a5f86af5a25b6aef77155b15ae8c45c1 (diff)
downloadlvm2-1dede50c854dfae4febe0e3d740266284ed1226c.tar.gz
lvm2-1dede50c854dfae4febe0e3d740266284ed1226c.tar.xz
lvm2-1dede50c854dfae4febe0e3d740266284ed1226c.zip
Thin check for lv_thin_pool_percent error status
Check has been missing.
Diffstat (limited to 'lib/metadata/lv_manip.c')
-rw-r--r--lib/metadata/lv_manip.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/metadata/lv_manip.c b/lib/metadata/lv_manip.c
index 03e07742..5b58bd89 100644
--- a/lib/metadata/lv_manip.c
+++ b/lib/metadata/lv_manip.c
@@ -4340,9 +4340,13 @@ static struct logical_volume *_lv_create_an_lv(struct volume_group *vg, struct l
init_dmeventd_monitor(lp->activation_monitoring);
if (seg_is_thin(lp)) {
- /* For thin snapshot suspend active thin origin first */
+ /* For snapshot, suspend active thin origin first */
if (org && lv_is_active(org)) {
- lv_thin_pool_percent(first_seg(org)->pool_lv, 0, &percent);
+ /* Check if the pool is bellow threshold (Works only for active thin) */
+ if (!lv_thin_pool_percent(first_seg(org)->pool_lv, 0, &percent)) {
+ stack;
+ goto revert_new_lv;
+ }
percent /= PERCENT_1;
if (percent >= (find_config_tree_int(cmd, "activation/thin_pool_autoextend_threshold",
DEFAULT_THIN_POOL_AUTOEXTEND_THRESHOLD))) {