From 029f51e1a853297ca7246b75ac80cde9de23a2a4 Mon Sep 17 00:00:00 2001 From: David Teigland Date: Fri, 17 Jun 2016 12:10:43 -0500 Subject: [PATCH] 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. --- tools/vgreduce.c | 12 +++++------- 1 file 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); -- 2.43.5