diff options
author | David Teigland <teigland@redhat.com> | 2015-06-04 10:55:18 -0500 |
---|---|---|
committer | David Teigland <teigland@redhat.com> | 2015-06-23 17:08:53 -0500 |
commit | 6121eb48285664b4d78abc685ec739323449a046 (patch) | |
tree | 083136bfd24a8adfe6012d87b42a19fe4627c106 | |
parent | 45485de49fba1f35ba93ab1ada88beeda1184e3a (diff) | |
download | lvm2-6121eb48285664b4d78abc685ec739323449a046.tar.gz |
toollib: fix clustered and shared option combinations
--clustered n was failing when it shouldn't.
-rw-r--r-- | tools/toollib.c | 43 |
1 files changed, 19 insertions, 24 deletions
diff --git a/tools/toollib.c b/tools/toollib.c index 51e9b0b77..39c6be380 100644 --- a/tools/toollib.c +++ b/tools/toollib.c @@ -728,7 +728,6 @@ int vgcreate_params_set_from_args(struct cmd_context *cmd, int locking_type; int use_lvmlockd; int use_clvmd; - int clustery; int lock_type_num; /* LOCK_TYPE_ */ vp_new->vg_name = skip_dev_dir(cmd, vp_def->vg_name, NULL); @@ -885,44 +884,40 @@ int vgcreate_params_set_from_args(struct cmd_context *cmd, } else if (arg_is_set(cmd, clustered_ARG)) { const char *arg_str = arg_str_value(cmd, clustered_ARG, ""); + int clustery = strcmp(arg_str, "y") ? 0 : 1; - if (use_lvmlockd) { - log_error("Use --shared with lvmlockd, and --clustered with clvmd."); - return 0; - } + if (use_clvmd) { + lock_type = clustery ? "clvm" : "none"; - if (!use_clvmd) { - log_error("The --clustered option requires clvmd (locking_type=3)."); + } else if (use_lvmlockd) { + log_error("lvmlockd is configured, use --shared with lvmlockd, and --clustered with clvmd."); return 0; - } - if (!strcmp(arg_str, "y")) { - clustery = 1; - } else if (!strcmp(arg_str, "n")) { - clustery = 0; } else { - log_error("Unknown clustered value"); - return 0; + if (clustery) { + log_error("The --clustered option requires clvmd (locking_type=3)."); + return 0; + } else { + lock_type = "none"; + } } - lock_type = clustery ? "clvm" : "none"; - } else if (arg_is_set(cmd, shared_ARG)) { - if (use_clvmd) { + if (use_lvmlockd) { + if (!(lock_type = lockd_running_lock_type(cmd))) { + log_error("Failed to detect a running lock manager to select lock_type."); + return 0; + } + + } else if (use_clvmd) { log_error("Use --shared with lvmlockd, and --clustered with clvmd."); return 0; - } - if (!use_lvmlockd) { + } else { log_error("The --shared option requires lvmlockd (use_lvmlockd=1)."); return 0; } - if (!(lock_type = lockd_running_lock_type(cmd))) { - log_error("Failed to detect a running lock manager to select lock_type."); - return 0; - } - } else { if (use_clvmd) lock_type = locking_is_clustered() ? "clvm" : "none"; |