dlm_controld: remove fence_all from cli

This commit is contained in:
David Teigland 2012-08-16 16:32:55 -05:00
parent a95315d0c3
commit 0c7d03548b
2 changed files with 131 additions and 1 deletions

View File

@ -0,0 +1,125 @@
From 7b0b7b33b052fbd3a5b0cafd8dc134ce2ce713ec Mon Sep 17 00:00:00 2001
From: David Teigland <teigland@redhat.com>
Date: Thu, 16 Aug 2012 15:41:12 -0500
Subject: [PATCH 3/3] dlm_controld: remove fence_all from cli
The fence_all (and unfence_all) options were
allowed as cli options, and as a fence config.
This made parsing dlm.conf ambiguous because
cli options in dlm.conf have x=y syntax, which
is not the same as the fence config syntax.
Remove the cli option because the config file
will be more common/useful.
Signed-off-by: David Teigland <teigland@redhat.com>
---
dlm_controld/daemon_cpg.c | 11 ++---------
dlm_controld/dlm.conf.5 | 4 ----
dlm_controld/dlm_daemon.h | 2 --
dlm_controld/fence.c | 2 +-
dlm_controld/main.c | 14 ++------------
5 files changed, 5 insertions(+), 28 deletions(-)
diff --git a/dlm_controld/daemon_cpg.c b/dlm_controld/daemon_cpg.c
index fee0ef6..61d2da2 100644
--- a/dlm_controld/daemon_cpg.c
+++ b/dlm_controld/daemon_cpg.c
@@ -455,20 +455,13 @@ static struct node_daemon *add_node_daemon(int nodeid)
fc = &node->fence_config;
fc->nodeid = nodeid;
- /* explicit command line arg has first priority */
-
- if (dlm_options[fence_all_ind].cli_set) {
- fc->dev[0] = &fence_all_device;
- goto out;
- }
-
- /* explicit config file setting has second priority */
+ /* explicit config file setting */
rv = fence_config_init(fc, (unsigned int)nodeid, (char *)CONF_FILE_PATH);
if (!rv)
goto out;
- /* no command line, no config file, so use default */
+ /* no config file setting, so use default */
if (rv == -ENOENT) {
fc->dev[0] = &fence_all_device;
diff --git a/dlm_controld/dlm.conf.5 b/dlm_controld/dlm.conf.5
index d722de7..95f74b9 100644
--- a/dlm_controld/dlm.conf.5
+++ b/dlm_controld/dlm.conf.5
@@ -65,10 +65,6 @@ enable_quorum_fencing
.br
enable_quorum_lockspace
.br
-fence_all
-.br
-unfence_all
-.br
.SH Fencing
diff --git a/dlm_controld/dlm_daemon.h b/dlm_controld/dlm_daemon.h
index 7cb3c01..ffd501c 100644
--- a/dlm_controld/dlm_daemon.h
+++ b/dlm_controld/dlm_daemon.h
@@ -107,8 +107,6 @@ enum {
enable_startup_fencing_ind,
enable_quorum_fencing_ind,
enable_quorum_lockspace_ind,
- fence_all_ind,
- unfence_all_ind,
help_ind,
version_ind,
dlm_options_max,
diff --git a/dlm_controld/fence.c b/dlm_controld/fence.c
index e53f840..0094b3a 100644
--- a/dlm_controld/fence.c
+++ b/dlm_controld/fence.c
@@ -194,7 +194,7 @@ int unfence_node(int nodeid)
}
if (rv < 0) {
/* there's a problem with the config */
- log_error("fence config %d error %d", nodeid, rv);
+ log_error("unfence %d fence_config_init error %d", nodeid, rv);
return rv;
}
diff --git a/dlm_controld/main.c b/dlm_controld/main.c
index c002520..6eafa49 100644
--- a/dlm_controld/main.c
+++ b/dlm_controld/main.c
@@ -1335,16 +1335,6 @@ static void set_opt_defaults(void)
1, NULL,
"enable/disable quorum requirement for lockspace operations");
- set_opt_default(fence_all_ind,
- "fence_all", '\0', req_arg_str,
- -1, "dlm_stonith",
- "fence all nodes with this agent");
-
- set_opt_default(unfence_all_ind,
- "unfence_all", '\0', no_arg,
- 0, NULL,
- "enable unfencing self with fence_all agent");
-
set_opt_default(help_ind,
"help", 'h', no_arg,
-1, NULL,
@@ -1565,8 +1555,8 @@ int main(int argc, char **argv)
set_opt_file(0);
strcpy(fence_all_device.name, "fence_all");
- strcpy(fence_all_device.agent, opts(fence_all_ind));
- fence_all_device.unfence = opt(unfence_all_ind);
+ strcpy(fence_all_device.agent, "dlm_stonith");
+ fence_all_device.unfence = 0;
INIT_LIST_HEAD(&lockspaces);
INIT_LIST_HEAD(&fs_register_list);
--
1.7.10.1.362.g242cab3

View File

@ -1,6 +1,6 @@
Name: dlm
Version: 3.99.5
Release: 4%{?dist}
Release: 5%{?dist}
License: GPLv2 and GPLv2+ and LGPLv2+
# For a breakdown of the licensing, see README.license
Group: System Environment/Kernel
@ -15,6 +15,7 @@ Source0: http://people.redhat.com/teigland/%{name}-%{version}.tar.gz
Patch0: 0001-dlm_controld-fix-uninitialized-mem-for-fence_all-con.patch
Patch1: 0002-dlm_stonith-include-errno.h.patch
Patch2: 0003-dlm_controld-remove-fence_all-from-cli.patch
%if 0%{?rhel}
ExclusiveArch: i686 x86_64
@ -35,6 +36,7 @@ The kernel dlm requires a user daemon to control cluster membership.
%setup -q
%patch0 -p1 -b .0001-dlm_controld-fix-uninitialized-mem-for-fence_all-con.patch
%patch1 -p1 -b .0002-dlm_stonith-include-errno.h.patch
%patch2 -p1 -b .0003-dlm_controld-remove-fence_all-from-cli.patch
%build
# upstream does not require configure
@ -114,6 +116,9 @@ developing applications that use %{name}.
%{_libdir}/pkgconfig/*.pc
%changelog
* Thu Aug 16 2012 David Teigland <teigland@redhat.com> - 3.99.5-5
- dlm_controld: remove fence_all from cli
* Thu Aug 16 2012 David Teigland <teigland@redhat.com> - 3.99.5-4
- dlm_stonith: include errno.h