summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Teigland <teigland@redhat.com>2015-06-01 13:51:08 -0500
committerDavid Teigland <teigland@redhat.com>2015-06-02 11:39:34 -0500
commitadd22d1ba6dc18ed9d12a91ffdac111186342437 (patch)
treed16ca7b3ce8bbd64e04f98f8f633d5c7c538df51
parentb2338733acaf11b7c7295734ce30914e7cc79505 (diff)
downloadlvm2-add22d1ba6dc18ed9d12a91ffdac111186342437.tar.gz
vgcreate/vgchange: wait for lock start by default
By default, vgcreate and vgchange --lock-start will wait for the lockspace to start. Adding --lock-opt nowait will cause them not to wait. The waiting can always be canceled by Ctrl-C without any harm.
-rw-r--r--tools/vgchange.c10
-rw-r--r--tools/vgcreate.c9
2 files changed, 16 insertions, 3 deletions
diff --git a/tools/vgchange.c b/tools/vgchange.c
index 7912cfcc8..b2c6218b2 100644
--- a/tools/vgchange.c
+++ b/tools/vgchange.c
@@ -1186,10 +1186,16 @@ int vgchange(struct cmd_context *cmd, int argc, char **argv)
/* Wait for lock-start ops that were initiated in vgchange_lockstart. */
- if (arg_is_set(cmd, lockstart_ARG) && arg_is_set(cmd, lockopt_ARG)) {
+ if (arg_is_set(cmd, lockstart_ARG)) {
const char *start_opt = arg_str_value(cmd, lockopt_ARG, NULL);
- if (!strcmp(start_opt, "wait") || !strcmp(start_opt, "autowait"))
+
+ if (!start_opt || !strcmp(start_opt, "wait") || !strcmp(start_opt, "autowait")) {
+ log_print_unless_silent("Starting locking. Waiting until locks are ready...");
lockd_start_wait(cmd);
+
+ } else if (!strcmp(start_opt, "nowait")) {
+ log_print_unless_silent("Starting locking. VG is read-only until locks are ready.");
+ }
}
return ret;
diff --git a/tools/vgcreate.c b/tools/vgcreate.c
index 1f5eb38ec..615f83eb5 100644
--- a/tools/vgcreate.c
+++ b/tools/vgcreate.c
@@ -158,8 +158,15 @@ int vgcreate(struct cmd_context *cmd, int argc, char **argv)
goto out;
}
- if (start_opt && !strcmp(start_opt, "wait"))
+ if (!start_opt || !strcmp(start_opt, "wait")) {
+ /* It is OK if the user does Ctrl-C to cancel the wait. */
+ log_print_unless_silent("Starting locking. Waiting until locks are ready...");
lockd_start_wait(cmd);
+
+ } else if (!strcmp(start_opt, "nowait")) {
+ log_print_unless_silent("Starting locking. VG is read-only until locks are ready.");
+ }
+
}
out:
release_vg(vg);