summaryrefslogtreecommitdiffstats
path: root/tools/lvcreate.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/lvcreate.c')
-rw-r--r--tools/lvcreate.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/tools/lvcreate.c b/tools/lvcreate.c
index ec48ae6d..9d035b8c 100644
--- a/tools/lvcreate.c
+++ b/tools/lvcreate.c
@@ -204,7 +204,12 @@ static int _determine_snapshot_type(struct volume_group *vg,
return 0;
}
- if (lv_is_thin_volume(lvl->lv)) {
+ if (!arg_count(vg->cmd, extents_ARG) && !arg_count(vg->cmd, size_ARG)) {
+ if (!lv_is_thin_volume(lvl->lv)) {
+ log_error("Please specify either size or extents with snapshots.");
+ return 0;
+ }
+
lp->thin = 1;
if (!(lp->segtype = get_segtype_from_string(vg->cmd, "thin")))
return_0;
@@ -212,11 +217,6 @@ static int _determine_snapshot_type(struct volume_group *vg,
lp->pool = first_seg(lvl->lv)->pool_lv->name;
}
- if (!lp->thin && !arg_count(vg->cmd, extents_ARG) && !arg_count(vg->cmd, size_ARG)) {
- log_error("Please specify either size or extents with snapshots.");
- return 0;
- }
-
return 1;
}