summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZdenek Kabelac <zkabelac@redhat.com>2015-11-22 23:04:11 +0100
committerZdenek Kabelac <zkabelac@redhat.com>2015-11-23 23:42:59 +0100
commit5e50e5f0b4074bbeb093f1fba334076be3f59f3f (patch)
tree952948d4eb513afb0931c366af1c1d71188c4659
parent6d6c233768e2a9c3bd9fd13e113e2a890c18b2cf (diff)
downloadlvm2-5e50e5f0b4074bbeb093f1fba334076be3f59f3f.tar.gz
thin: skip detach preload from pools
lv preload for detached LVs started to be used also for various other types which just happens to pass through weak if() condition. TODO: find here better solution to rather explicitly check for types we really need to preload.
-rw-r--r--lib/activate/activate.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/activate/activate.c b/lib/activate/activate.c
index 6a6a952ce..c30a7ac7d 100644
--- a/lib/activate/activate.c
+++ b/lib/activate/activate.c
@@ -1778,8 +1778,11 @@ static int _preload_detached_lv(struct logical_volume *lv, void *data)
return_0;
}
+ /* FIXME: condition here should be far more limiting to really
+ * detect detached LVs */
if ((lv_pre = find_lv(detached->lv_pre->vg, lv->name))) {
if (lv_is_visible(lv_pre) && lv_is_active(lv) &&
+ !lv_is_pool(lv) &&
(!lv_is_cow(lv) || !lv_is_cow(lv_pre)) &&
!_lv_preload(lv_pre, detached->laopts, detached->flush_required))
return_0;