summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--liblvm/lvm_lv.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/liblvm/lvm_lv.c b/liblvm/lvm_lv.c
index 23ccbe82..2d4dc023 100644
--- a/liblvm/lvm_lv.c
+++ b/liblvm/lvm_lv.c
@@ -153,15 +153,18 @@ lv_t lvm_vg_create_lv_linear(vg_t vg, const char *name, uint64_t size)
if (!vg_check_write_mode(vg))
return NULL;
- extents = extents_from_size(vg->cmd, size / SECTOR_SIZE,
- vg->extent_size);
+ if (!(extents = extents_from_size(vg->cmd, size / SECTOR_SIZE,
+ vg->extent_size))) {
+ log_error("Unable to create LV without size.");
+ return NULL;
+ }
+
_lv_set_default_params(&lp, vg, name, extents);
if (!_lv_set_default_linear_params(vg->cmd, &lp))
return_NULL;
if (!lv_create_single(vg, &lp))
- return NULL;
- lvl = find_lv_in_vg(vg, name);
- if (!lvl)
+ return_NULL;
+ if (!(lvl = find_lv_in_vg(vg, name)))
return NULL;
return (lv_t) lvl->lv;
}