diff options
author | Zdenek Kabelac <zkabelac@redhat.com> | 2012-01-25 09:02:35 +0000 |
---|---|---|
committer | Zdenek Kabelac <zkabelac@redhat.com> | 2012-01-25 09:02:35 +0000 |
commit | 1dede50c854dfae4febe0e3d740266284ed1226c (patch) | |
tree | 17a93b98befaf288035a983505e5cd42dfdb36fc /lib/metadata/lv_manip.c | |
parent | c0663a97a5f86af5a25b6aef77155b15ae8c45c1 (diff) | |
download | lvm2-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.c | 8 |
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))) { |