diff options
author | David Teigland <teigland@redhat.com> | 2015-06-01 13:51:08 -0500 |
---|---|---|
committer | David Teigland <teigland@redhat.com> | 2015-06-08 11:50:40 -0500 |
commit | 52af44d4e2a49c256537564bfa24e5fe4a80edab (patch) | |
tree | 60a8d4e665acf4883e64787fe4848d8d43591651 | |
parent | 6ae8267b65c21b4ca525780a2089c502eaa87151 (diff) | |
download | lvm2-52af44d4e2a49c256537564bfa24e5fe4a80edab.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.c | 10 | ||||
-rw-r--r-- | tools/vgcreate.c | 9 |
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); |