[lvm-devel] master - thin: fix lvconvert in external origin conversion
Zdenek Kabelac
zkabelac at fedoraproject.org
Tue Oct 8 11:42:35 UTC 2013
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=92bafade6051f95d49b35a53c77d0fc25a1fb7ec
Commit: 92bafade6051f95d49b35a53c77d0fc25a1fb7ec
Parent: 30746f31dd1db63e0c83e6f8c7ae65dab3f69a4b
Author: Zdenek Kabelac <zkabelac at redhat.com>
AuthorDate: Tue Oct 8 13:24:22 2013 +0200
Committer: Zdenek Kabelac <zkabelac at redhat.com>
CommitterDate: Tue Oct 8 13:41:06 2013 +0200
thin: fix lvconvert in external origin conversion
Patch 562ad293fd52b8f3096b28bcac20e32aa1e8c1b0 introduced code regression
when LV was converted to a thin LV with external origin and at the same time,
conversion of LV to a thin pool has been requested.
(RHBZ: #997704)
data_lv needs to be assigned after test for external conversion find pool.
---
WHATS_NEW | 1 +
tools/lvconvert.c | 3 ++-
2 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/WHATS_NEW b/WHATS_NEW
index 93a156a..cd9f00a 100644
--- a/WHATS_NEW
+++ b/WHATS_NEW
@@ -2,6 +2,7 @@ Version 2.02.104
===================================
Improve message when unable to change discards setting on active thin pool.
Run full scan before vgrename operation to avoid any cache name collision.
+ Fix lvconvert when converting to a thin pool and thin LV at once.
Version 2.02.103 - 4th October 2013
===================================
diff --git a/tools/lvconvert.c b/tools/lvconvert.c
index 49881fa..1970ca3 100644
--- a/tools/lvconvert.c
+++ b/tools/lvconvert.c
@@ -2266,7 +2266,7 @@ static int _lvconvert_thinpool(struct cmd_context *cmd,
int r = 0;
const char *old_name;
struct lv_segment *seg;
- struct logical_volume *data_lv = pool_lv;
+ struct logical_volume *data_lv;
struct logical_volume *metadata_lv;
struct logical_volume *pool_metadata_lv;
struct logical_volume *external_lv = NULL;
@@ -2304,6 +2304,7 @@ static int _lvconvert_thinpool(struct cmd_context *cmd,
}
}
+ data_lv = pool_lv;
if (lv_is_thin_type(pool_lv) && !lp->pool_metadata_lv_name) {
log_error("Can't use thin logical volume %s/%s for thin pool data.",
pool_lv->vg->name, pool_lv->name);
More information about the lvm-devel
mailing list