new upstream release, systemd fixes

This commit is contained in:
David Teigland 2012-11-06 13:51:43 -06:00
parent 5b976e5f84
commit 994276897b
6 changed files with 9 additions and 189 deletions

1
.gitignore vendored
View File

@ -4,3 +4,4 @@
/dlm-3.99.3.tar.gz
/dlm-3.99.4.tar.gz
/dlm-3.99.5.tar.gz
/dlm-4.0.0.tar.gz

View File

@ -1,29 +0,0 @@
From 5e069a534379611e08714ac81870af6b387a4038 Mon Sep 17 00:00:00 2001
From: David Teigland <teigland@redhat.com>
Date: Thu, 16 Aug 2012 11:29:43 -0500
Subject: [PATCH] dlm_controld: fix uninitialized mem for fence_all config
If the fence_all config option is used, this could cause
unfencing to be used when it shouldn't, which could cause
startup to fail.
Signed-off-by: David Teigland <teigland@redhat.com>
---
dlm_controld/fence_config.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/dlm_controld/fence_config.c b/dlm_controld/fence_config.c
index 66a1ad6..5d8d7dc 100644
--- a/dlm_controld/fence_config.c
+++ b/dlm_controld/fence_config.c
@@ -251,6 +251,7 @@ int fence_config_init(struct fence_config *fc, unsigned int nodeid, char *path)
rv = -ENOMEM;
goto out;
}
+ memset(dev, 0, sizeof(struct fence_device));
rv = sscanf(line, "%s %s %[^\n]s\n", dev->name, dev->agent, dev->args);
if (rv < 2) {
--
1.7.10.1.362.g242cab3

View File

@ -1,27 +0,0 @@
From e8fdd228dfff06967223c7c5a36ed72129c096e7 Mon Sep 17 00:00:00 2001
From: David Teigland <teigland@redhat.com>
Date: Thu, 16 Aug 2012 12:51:13 -0500
Subject: [PATCH 2/2] dlm_stonith: include errno.h
pacemaker header now needs it
Signed-off-by: David Teigland <teigland@redhat.com>
---
fence/stonith_helper.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/fence/stonith_helper.c b/fence/stonith_helper.c
index df44219..5b384c1 100644
--- a/fence/stonith_helper.c
+++ b/fence/stonith_helper.c
@@ -11,6 +11,7 @@
#include <string.h>
#include <unistd.h>
#include <syslog.h>
+#include <errno.h>
#include <pacemaker/crm/stonith-ng.h>
int nodeid;
--
1.7.10.1.362.g242cab3

View File

@ -1,125 +0,0 @@
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,5 +1,5 @@
Name: dlm
Version: 3.99.5
Version: 4.0.0
Release: 7%{?dist}
License: GPLv2 and GPLv2+ and LGPLv2+
# For a breakdown of the licensing, see README.license
@ -11,11 +11,10 @@ BuildRequires: corosynclib-devel >= 1.99.9
BuildRequires: pacemaker-libs-devel >= 1.1.7
BuildRequires: libxml2-devel
BuildRequires: systemd-units
BuildRequires: systemd-devel
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
#Patch0: 0001-foo.patch
%if 0%{?rhel}
ExclusiveArch: i686 x86_64
@ -34,9 +33,7 @@ The kernel dlm requires a user daemon to control cluster membership.
%prep
%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
#%patch0 -p1 -b .0001-foo.patch
%build
# upstream does not require configure
@ -108,6 +105,9 @@ developing applications that use %{name}.
%{_libdir}/pkgconfig/*.pc
%changelog
* Tue Nov 06 2012 David Teigland <teigland@redhat.com> - 4.0.0-1
- New upstream release, systemd fixes
* Wed Sep 05 2012 Václav Pavlín <vpavlin@redhat.com> - 3.99.5-7
- Scriptlets replaced with new systemd macros (#850093)

View File

@ -1 +1 @@
cad4999d0c42000bf5898af34f587728 dlm-3.99.5.tar.gz
2db31a9728ede91a202ff6f3e5accf8d dlm-4.0.0.tar.gz