diff options
author | Alasdair Kergon <agk@redhat.com> | 2009-05-27 18:19:21 +0000 |
---|---|---|
committer | Alasdair Kergon <agk@redhat.com> | 2009-05-27 18:19:21 +0000 |
commit | 99113cc588d14b6c692bb1cb65a0891e575d9861 (patch) | |
tree | acd4695c142387acc1a304d0d0a0a154ea63d9c7 /tools/lvcreate.c | |
parent | 154753db8b7595525f7b9b33b517eab946e0ec51 (diff) | |
download | lvm2-99113cc588d14b6c692bb1cb65a0891e575d9861.tar.gz lvm2-99113cc588d14b6c692bb1cb65a0891e575d9861.tar.xz lvm2-99113cc588d14b6c692bb1cb65a0891e575d9861.zip |
Suppress 'removed' messages displayed when internal LVs are removed.
Fix lvchange -a and -p for sparse LVs.
Fix lvcreate --virtualsize to activate the new device immediately.
Diffstat (limited to 'tools/lvcreate.c')
-rw-r--r-- | tools/lvcreate.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/tools/lvcreate.c b/tools/lvcreate.c index b7dce37b..208299d2 100644 --- a/tools/lvcreate.c +++ b/tools/lvcreate.c @@ -910,12 +910,16 @@ static int _lvcreate(struct cmd_context *cmd, struct volume_group *vg, return 0; } + /* A virtual origin must be activated explicitly. */ if (lp->voriginsize && - !(org = _create_virtual_origin(cmd, vg, lv->name, - lp->permission, - lp->voriginextents))) { + (!(org = _create_virtual_origin(cmd, vg, lv->name, + lp->permission, + lp->voriginextents)) || + !activate_lv(cmd, org))) { log_error("Couldn't create virtual origin for LV %s", lv->name); + if (org && !lv_remove(org)) + stack; goto deactivate_and_revert_new_lv; } |