From: Zdenek Kabelac Date: Mon, 5 Mar 2018 11:54:39 +0000 (+0100) Subject: lvcreate: fix activation of cached LV X-Git-Tag: v2_02_178-rc1~180 X-Git-Url: https://sourceware.org/git/?a=commitdiff_plain;h=23de09aeb87ec10bd1a553ea8868e2f946117232;p=lvm2.git lvcreate: fix activation of cached LV Since LV for caching can be already a stacked LV, proper activation needs to use lock holding LV. --- diff --git a/WHATS_NEW b/WHATS_NEW index 49b995e29..3ed3e5a20 100644 --- a/WHATS_NEW +++ b/WHATS_NEW @@ -1,5 +1,6 @@ Version 2.02.178 - ===================================== + Activate correct lock holding LV when it is cached. Do not modify archived metadata when removing striped raid. Fix memleak on error path when obtaining lv_raid_data_offset. Fix compatibility size test of extended external origin. diff --git a/tools/lvcreate.c b/tools/lvcreate.c index 7f86a3731..e901968d7 100644 --- a/tools/lvcreate.c +++ b/tools/lvcreate.c @@ -1222,6 +1222,8 @@ static int _determine_cache_argument(struct volume_group *vg, return_0; /* FIXME */ /* Put origin into resulting activation state first */ + lv = (struct logical_volume *)lv_lock_holder(lv); + if (is_change_activating(lp->activate)) { if ((lp->activate == CHANGE_AAY) && !lv_passes_auto_activation_filter(cmd, lv)) {