summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Teigland <teigland@redhat.com>2016-06-17 12:10:43 -0500
committerDavid Teigland <teigland@redhat.com>2016-06-17 12:22:58 -0500
commit029f51e1a853297ca7246b75ac80cde9de23a2a4 (patch)
tree19c800247215d2e036d349f6dd1e34e0e9746086
parent899a4ca275543425ca60fe361bc13fbc5c90e741 (diff)
downloadlvm2-029f51e1a853297ca7246b75ac80cde9de23a2a4.tar.gz
vgreduce: fix location of lvmlockd global lock
The lvmlockd global lock was missing the non-repair case, which caused the new orphan PV created by vgreduce to not be seen by other hosts.
-rw-r--r--tools/vgreduce.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/tools/vgreduce.c b/tools/vgreduce.c
index 19a0bb035..3176a0e77 100644
--- a/tools/vgreduce.c
+++ b/tools/vgreduce.c
@@ -217,6 +217,11 @@ int vgreduce(struct cmd_context *cmd, int argc, char **argv)
argv++;
argc--;
+ /* Needed to change the set of orphan PVs. */
+ if (!lockd_gl(cmd, "ex", 0))
+ return_ECMD_FAILED;
+ cmd->lockd_gl_disable = 1;
+
if (!(handle = init_processing_handle(cmd))) {
log_error("Failed to initialize processing handle.");
return ECMD_FAILED;
@@ -236,13 +241,6 @@ int vgreduce(struct cmd_context *cmd, int argc, char **argv)
vp.force = arg_count(cmd, force_ARG);
- /* Needed to change the set of orphan PVs. */
- if (!lockd_gl(cmd, "ex", 0)) {
- ret = ECMD_FAILED;
- goto_out;
- }
- cmd->lockd_gl_disable = 1;
-
cmd->handles_missing_pvs = 1;
init_ignore_suspended_devices(1);