summaryrefslogtreecommitdiffstats
path: root/tools/vgmerge.c
diff options
context:
space:
mode:
authorAlasdair Kergon <agk@redhat.com>2006-09-02 01:18:17 +0000
committerAlasdair Kergon <agk@redhat.com>2006-09-02 01:18:17 +0000
commitdc4d7417f743ea0766aa9b200aa861ef003400bb (patch)
tree0379970e84f2089f5ed9d4649b9333d9c611675e /tools/vgmerge.c
parenta45da5f6768e36535340982e1185e9ab234d9d7a (diff)
downloadlvm2-dc4d7417f743ea0766aa9b200aa861ef003400bb.tar.gz
lvm2-dc4d7417f743ea0766aa9b200aa861ef003400bb.tar.xz
lvm2-dc4d7417f743ea0766aa9b200aa861ef003400bb.zip
When using local file locking, skip clustered VGs.
Add fallback_to_clustered_locking and fallback_to_local_locking parameters.
Diffstat (limited to 'tools/vgmerge.c')
-rw-r--r--tools/vgmerge.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/tools/vgmerge.c b/tools/vgmerge.c
index 73b7fa81..761ef883 100644
--- a/tools/vgmerge.c
+++ b/tools/vgmerge.c
@@ -41,6 +41,13 @@ static int _vgmerge_single(struct cmd_context *cmd, const char *vg_name_to,
return ECMD_FAILED;
}
+ if ((vg_to->status & CLUSTERED) && !locking_is_clustered() &&
+ !lockingfailed()) {
+ log_error("Skipping clustered volume group %s", vg_name_to);
+ unlock_vg(cmd, vg_name_to);
+ return ECMD_FAILED;
+ }
+
if (vg_to->status & EXPORTED_VG) {
log_error("Volume group \"%s\" is exported", vg_to->name);
unlock_vg(cmd, vg_name_to);
@@ -66,6 +73,12 @@ static int _vgmerge_single(struct cmd_context *cmd, const char *vg_name_to,
goto error;
}
+ if ((vg_from->status & CLUSTERED) && !locking_is_clustered() &&
+ !lockingfailed()) {
+ log_error("Skipping clustered volume group %s", vg_name_from);
+ goto error;
+ }
+
if (vg_from->status & EXPORTED_VG) {
log_error("Volume group \"%s\" is exported", vg_from->name);
goto error;