summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Teigland <teigland@redhat.com>2015-06-04 10:55:18 -0500
committerDavid Teigland <teigland@redhat.com>2015-06-17 13:31:44 -0500
commit9503821a22091308d48481751f63f73afda6d6a6 (patch)
tree4b6fe1cd5f5a55cc150a0dd84935dfabe21ce611
parent02f3005ada435e628c40c515831dd2e72ad18e43 (diff)
downloadlvm2-9503821a22091308d48481751f63f73afda6d6a6.tar.gz
toollib: fix clustered and shared option combinations
--clustered n was failing when it shouldn't.
-rw-r--r--tools/toollib.c43
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";