From 7076d1439b07aa697717d90aa01c62288fef2652 Mon Sep 17 00:00:00 2001 From: Milan Broz Date: Fri, 23 Mar 2012 16:28:40 +0000 Subject: Fix pvmove if LV is activated exclusively but cmirror is not running. In this case we should allow to use local mirror, check for cmirror should apply only for lvconvert/lvcreate. Introduced in 2.02.86 by removing !(lv->status & ACTIVATE_EXCL). (Partially workaround, it is minimalistic patch for now.) --- lib/metadata/mirror.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/metadata/mirror.c b/lib/metadata/mirror.c index 45295049..236edea2 100644 --- a/lib/metadata/mirror.c +++ b/lib/metadata/mirror.c @@ -2070,7 +2070,10 @@ int lv_add_mirrors(struct cmd_context *cmd, struct logical_volume *lv, if (vg_is_clustered(lv->vg)) { /* FIXME: review check of lv_is_active_remotely */ - if (!_cluster_mirror_is_available(lv)) { + /* FIXME: move this test out of this function */ + /* Skip test for pvmove mirrors, it can use local mirror */ + if (!(lv->status & (PVMOVE | LOCKED)) && + !_cluster_mirror_is_available(lv)) { log_error("Shared cluster mirrors are not available."); return 0; } -- cgit