diff --git a/WHATS_NEW b/WHATS_NEW index deb03388e..008fdf701 100644 --- a/WHATS_NEW +++ b/WHATS_NEW @@ -1,5 +1,6 @@ Version 2.02.99 - =================================== + Properly use snapshot layer for origin which is also thin volume. Avoid generating metadata backup when calling update_pool_lv(). Send thin messages also for active thin pool and inactive thin volume. Add activation/auto_set_activation_skip to control activation skip flagging. diff --git a/lib/activate/dev_manager.c b/lib/activate/dev_manager.c index 724742dfc..986e6969a 100644 --- a/lib/activate/dev_manager.c +++ b/lib/activate/dev_manager.c @@ -1681,7 +1681,7 @@ static int _add_lv_to_dtree(struct dev_manager *dm, struct dm_tree *dtree, return_0; if (origin_only && lv_is_thin_volume(lv)) { - if (!_add_dev_to_dtree(dm, dtree, lv, NULL)) + if (!_add_dev_to_dtree(dm, dtree, lv, lv_layer(lv))) return_0; #if 0 /* ? Use origin_only to avoid 'deep' thin pool suspend ? */ diff --git a/lib/thin/thin.c b/lib/thin/thin.c index 1867ef90f..9bc9e4d30 100644 --- a/lib/thin/thin.c +++ b/lib/thin/thin.c @@ -298,7 +298,7 @@ static int _thin_pool_add_target_line(struct dev_manager *dm, case DM_THIN_MESSAGE_CREATE_THIN: origin = first_seg(lmsg->u.lv)->origin; /* Check if the origin is suspended */ - if (origin && lv_info(cmd, origin, 0, &info, 0, 0) && + if (origin && lv_info(cmd, origin, 1, &info, 0, 0) && info.exists && !info.suspended) { /* Origin is not suspended, but the transaction may have been * already transfered, so test for transaction_id and