[lvm-devel] master - thin: fix previous update of partial tree building

Zdenek Kabelac zkabelac at fedoraproject.org
Wed Nov 25 10:44:14 UTC 2015


Gitweb:        http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=0285066e10d0c4a37bc4938eeed2139299600b3e
Commit:        0285066e10d0c4a37bc4938eeed2139299600b3e
Parent:        8d86c5db03acd0b74cd919f1deb6cbfd1ff86e80
Author:        Zdenek Kabelac <zkabelac at redhat.com>
AuthorDate:    Tue Nov 24 23:24:11 2015 +0100
Committer:     Zdenek Kabelac <zkabelac at redhat.com>
CommitterDate: Tue Nov 24 23:24:11 2015 +0100

thin: fix previous update of partial tree building

We do want to preserve 'active' thin-pool,
so add this 'fake' layer only when activating.

TODO:  think how to use thin-pool without fake LV layer.
---
 lib/activate/dev_manager.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/lib/activate/dev_manager.c b/lib/activate/dev_manager.c
index da24cdd..eb47ed1 100644
--- a/lib/activate/dev_manager.c
+++ b/lib/activate/dev_manager.c
@@ -2311,7 +2311,8 @@ static int _add_lv_to_dtree(struct dev_manager *dm, struct dm_tree *dtree,
 			return_0;
 		if (seg->pool_lv &&
 		    (lv_is_cache_pool(seg->pool_lv) || !dm->skip_external_lv) &&
-		    !_add_lv_to_dtree(dm, dtree, seg->pool_lv, origin_only))
+		    /* When activating and not origin_only detect linear 'overlay' over pool */
+		    !_add_lv_to_dtree(dm, dtree, seg->pool_lv, dm->activation ? origin_only : 1))
 			return_0;
 
 		for (s = 0; s < seg->area_count; s++) {




More information about the lvm-devel mailing list