Compare commits
2 Commits
7d1144a37e
...
main
Author | SHA256 | Date | |
---|---|---|---|
a9ce9da4c0 | |||
1f6580aca6 |
@@ -1,13 +0,0 @@
|
||||
--- dlm-4.2.0/dlm_controld/Makefile
|
||||
+++ dlm-4.2.0/dlm_controld/Makefile
|
||||
@@ -52,7 +52,7 @@
|
||||
|
||||
BIN_CFLAGS += $(CFLAGS) -fPIE -DPIE
|
||||
BIN_CFLAGS += -I../include -I../libdlm
|
||||
-LIB_CFLAGS += $(CFLAGS) -fPIC -fplugin=annobin
|
||||
+LIB_CFLAGS += $(CFLAGS) -fPIC
|
||||
|
||||
BIN_LDFLAGS += $(LDFLAGS) -Wl,-z,relro -Wl,-z,now -pie
|
||||
BIN_LDFLAGS += -lpthread -lrt -lcpg -lcmap -lcfg -lquorum -luuid
|
||||
|
||||
|
@@ -1,33 +0,0 @@
|
||||
From ddbba6608896f81bfce8f8edf3d0f507714cfc43 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Aring <aahringo@redhat.com>
|
||||
Date: Wed, 24 May 2023 08:56:41 -0400
|
||||
Subject: [PATCH] dlm_controld: remove unnecessary header include
|
||||
|
||||
The timewarn netlink functionality got dropped and will be removed by
|
||||
kernel v6.4. The user space part was already dropped by commit 34ea31e7
|
||||
("controld: remove timewarn handling"). This is just a left over of this
|
||||
commit. Recent builds fails now because the UAPI header in the Linux
|
||||
kernel was removed. This means older dlm sources cannot be build with
|
||||
newer kernel-headers, however it is not recommended to use older dlm
|
||||
sources and all existing users should upgrade anyway.
|
||||
|
||||
Reported-by: Fabio M. Di Nitto <fdinitto@redhat.com>
|
||||
---
|
||||
dlm_controld/main.c | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/dlm_controld/main.c b/dlm_controld/main.c
|
||||
index c9d1c5f1..14be5edd 100644
|
||||
--- a/dlm_controld/main.c
|
||||
+++ b/dlm_controld/main.c
|
||||
@@ -12,7 +12,6 @@
|
||||
#include <pthread.h>
|
||||
#include <linux/netlink.h>
|
||||
#include <linux/genetlink.h>
|
||||
-#include <linux/dlm_netlink.h>
|
||||
#include <uuid/uuid.h>
|
||||
|
||||
#ifdef USE_SD_NOTIFY
|
||||
--
|
||||
2.41.0
|
||||
|
@@ -1,70 +0,0 @@
|
||||
From 4cfb7b21a88f0ae32d97ea4cbb0c7419b88f397d Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Aring <aahringo@redhat.com>
|
||||
Date: Wed, 12 Oct 2022 12:44:03 -0400
|
||||
Subject: [PATCH] Revert "treewide: add -fcf-protection=full to CFLAGS"
|
||||
|
||||
This reverts commit 215aedf1fdff58c62fe596284948590965acc85c.
|
||||
---
|
||||
dlm_controld/Makefile | 2 +-
|
||||
dlm_tool/Makefile | 2 +-
|
||||
fence/Makefile | 2 +-
|
||||
libdlm/Makefile | 4 ++--
|
||||
4 files changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/dlm_controld/Makefile b/dlm_controld/Makefile
|
||||
index ec8c360c..9cf7152f 100644
|
||||
--- a/dlm_controld/Makefile
|
||||
+++ b/dlm_controld/Makefile
|
||||
@@ -43,7 +43,7 @@ CFLAGS += -D_GNU_SOURCE -O2 -ggdb \
|
||||
-Wno-sign-compare -Wno-unused-parameter -Wp,-D_FORTIFY_SOURCE=2 \
|
||||
-fexceptions -fasynchronous-unwind-tables -fdiagnostics-show-option \
|
||||
-Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong \
|
||||
- -fstack-clash-protection -fcf-protection=full
|
||||
+ -fstack-clash-protection
|
||||
|
||||
BIN_CFLAGS += $(CFLAGS) -fPIE -DPIE
|
||||
BIN_CFLAGS += -I../include -I../libdlm
|
||||
diff --git a/dlm_tool/Makefile b/dlm_tool/Makefile
|
||||
index 57629c73..1c3d61d5 100644
|
||||
--- a/dlm_tool/Makefile
|
||||
+++ b/dlm_tool/Makefile
|
||||
@@ -15,7 +15,7 @@ CFLAGS += -D_GNU_SOURCE -O2 -ggdb \
|
||||
-Wno-sign-compare -Wno-unused-parameter -Wp,-D_FORTIFY_SOURCE=2 \
|
||||
-fexceptions -fasynchronous-unwind-tables -fdiagnostics-show-option \
|
||||
-Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong \
|
||||
- -fstack-clash-protection -fcf-protection=full
|
||||
+ -fstack-clash-protection
|
||||
|
||||
CFLAGS += -fPIE -DPIE
|
||||
CFLAGS += -I../include -I../libdlm -I../dlm_controld
|
||||
diff --git a/fence/Makefile b/fence/Makefile
|
||||
index 446f4eaa..ee4dfb88 100644
|
||||
--- a/fence/Makefile
|
||||
+++ b/fence/Makefile
|
||||
@@ -15,7 +15,7 @@ CFLAGS += -D_GNU_SOURCE -O2 -ggdb \
|
||||
-Wno-sign-compare -Wno-unused-parameter -Wp,-D_FORTIFY_SOURCE=2 \
|
||||
-fexceptions -fasynchronous-unwind-tables -fdiagnostics-show-option \
|
||||
-Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong \
|
||||
- -fstack-clash-protection -fcf-protection=full
|
||||
+ -fstack-clash-protection
|
||||
|
||||
CFLAGS += -fPIE -DPIE
|
||||
CFLAGS += -I../include
|
||||
diff --git a/libdlm/Makefile b/libdlm/Makefile
|
||||
index 823fdaa9..5069ccf1 100644
|
||||
--- a/libdlm/Makefile
|
||||
+++ b/libdlm/Makefile
|
||||
@@ -80,8 +80,8 @@ CFLAGS += -D_GNU_SOURCE -O2 -ggdb \
|
||||
-fdiagnostics-show-option \
|
||||
-fPIC
|
||||
|
||||
-LIB_CFLAGS += $(CFLAGS) -D_REENTRANT -fcf-protection=full
|
||||
-LLT_CFLAGS += $(CFLAGS) -fcf-protection=full
|
||||
+LIB_CFLAGS += $(CFLAGS) -D_REENTRANT
|
||||
+LLT_CFLAGS += $(CFLAGS)
|
||||
|
||||
LIB_LDFLAGS += $(LDFLAGS) -lpthread -Wl,-z,now
|
||||
LLT_LDFLAGS += $(LDFLAGS) -Wl,-z,now
|
||||
--
|
||||
2.41.0
|
||||
|
@@ -1,28 +0,0 @@
|
||||
From 6579bebc5c8843c4b7dfc3252267708990b097fc Mon Sep 17 00:00:00 2001
|
||||
From: Heming Zhao <heming.zhao@suse.com>
|
||||
Date: Mon, 18 Oct 2021 16:19:32 +0800
|
||||
Subject: [PATCH 1/2] Revert "dlm_controld: add version check for libquorum"
|
||||
|
||||
This reverts commit 3201db3835c85a1d9a407e621bff7902896e8a82.
|
||||
---
|
||||
dlm_controld/Makefile | 4 ----
|
||||
1 file changed, 4 deletions(-)
|
||||
|
||||
diff --git a/dlm_controld/Makefile b/dlm_controld/Makefile
|
||||
index 8cfc97e6909a..667998076acc 100644
|
||||
--- a/dlm_controld/Makefile
|
||||
+++ b/dlm_controld/Makefile
|
||||
@@ -60,10 +60,6 @@ ifeq ($(USE_SD_NOTIFY),yes)
|
||||
BIN_LDFLAGS += $(shell $(PKG_CONFIG) --libs libsystemd)
|
||||
endif
|
||||
|
||||
-ifeq (, $(shell $(PKG_CONFIG) --libs "libquorum >= 3.1.0"))
|
||||
- $(error "Requires libquorum at least version 3.1.0")
|
||||
-endif
|
||||
-
|
||||
all: $(LIB_TARGET) $(BIN_TARGET) $(LIB_PC)
|
||||
|
||||
$(BIN_TARGET): $(BIN_SOURCE)
|
||||
--
|
||||
2.33.0
|
||||
|
@@ -1,186 +0,0 @@
|
||||
From fd4aa4e5eec8477b08b279fbf6ed0eb1406c8fa8 Mon Sep 17 00:00:00 2001
|
||||
From: Heming Zhao <heming.zhao@suse.com>
|
||||
Date: Mon, 18 Oct 2021 16:20:32 +0800
|
||||
Subject: [PATCH 2/2] Revert "dlm_controld: use new quorum api to detect missed
|
||||
failures"
|
||||
|
||||
This reverts commit 2e893b981b19430aeca983dd63fb3ac0979d0b35.
|
||||
---
|
||||
dlm_controld/member.c | 106 ++++++------------------------------------
|
||||
1 file changed, 15 insertions(+), 91 deletions(-)
|
||||
|
||||
diff --git a/dlm_controld/member.c b/dlm_controld/member.c
|
||||
index d567c114b259..1d5bfa3d9166 100644
|
||||
--- a/dlm_controld/member.c
|
||||
+++ b/dlm_controld/member.c
|
||||
@@ -20,8 +20,6 @@ static int old_node_count;
|
||||
static uint32_t quorum_nodes[MAX_NODES];
|
||||
static int quorum_node_count;
|
||||
static struct list_head cluster_nodes;
|
||||
-static uint32_t leavejoin_nodes[MAX_NODES];
|
||||
-static int leavejoin_count;
|
||||
|
||||
struct node_cluster {
|
||||
struct list_head list;
|
||||
@@ -105,51 +103,15 @@ int is_cluster_member(uint32_t nodeid)
|
||||
return is_member(quorum_nodes, quorum_node_count, nodeid);
|
||||
}
|
||||
|
||||
-static int is_leavejoin_node(uint32_t nodeid)
|
||||
-{
|
||||
- return is_member(leavejoin_nodes, leavejoin_count, nodeid);
|
||||
-}
|
||||
-
|
||||
-static void quorum_nodelist_callback(quorum_handle_t cbhandle, struct quorum_ring_id ring_id,
|
||||
- uint32_t member_list_entries, const uint32_t *member_list,
|
||||
- uint32_t joined_list_entries, const uint32_t *joined_list,
|
||||
- uint32_t left_list_entries, const uint32_t *left_list)
|
||||
-{
|
||||
- uint64_t ring_seq = ring_id.seq;
|
||||
- int i, j;
|
||||
-
|
||||
- for (i = 0; i < left_list_entries; i++) {
|
||||
- log_debug("cluster left_list %u seq %llu",
|
||||
- left_list[i], (unsigned long long)ring_seq);
|
||||
- }
|
||||
-
|
||||
- for (j = 0; j < joined_list_entries; j++) {
|
||||
- log_debug("cluster joined_list %u seq %llu",
|
||||
- joined_list[j], (unsigned long long)ring_seq);
|
||||
- }
|
||||
-
|
||||
- for (i = 0; i < left_list_entries; i++) {
|
||||
- for (j = 0; j < joined_list_entries; j++) {
|
||||
- if (joined_list[j] == left_list[i]) {
|
||||
- log_debug("cluster node %d left and joined", joined_list[j]);
|
||||
- if (!is_leavejoin_node(joined_list[j]))
|
||||
- leavejoin_nodes[leavejoin_count++] = joined_list[j];
|
||||
- }
|
||||
- }
|
||||
- }
|
||||
-}
|
||||
-
|
||||
-static void quorum_callback(quorum_handle_t cbhandle, uint32_t quorate,
|
||||
- struct quorum_ring_id ring_id, uint32_t node_list_entries,
|
||||
- const uint32_t *node_list)
|
||||
+static void quorum_callback(quorum_handle_t h, uint32_t quorate,
|
||||
+ uint64_t ring_seq, uint32_t node_list_entries,
|
||||
+ uint32_t *node_list)
|
||||
{
|
||||
corosync_cfg_node_address_t addrs[MAX_NODE_ADDRESSES];
|
||||
corosync_cfg_node_address_t *addrptr = addrs;
|
||||
const struct node_config *nc;
|
||||
cs_error_t err;
|
||||
int i, j, num_addrs;
|
||||
- uint32_t nodeid;
|
||||
- uint64_t ring_seq = ring_id.seq;
|
||||
uint64_t now = monotime();
|
||||
|
||||
if (!cluster_joined_monotime) {
|
||||
@@ -180,55 +142,15 @@ static void quorum_callback(quorum_handle_t cbhandle, uint32_t quorate,
|
||||
if (!is_cluster_member(old_nodes[i])) {
|
||||
log_debug("cluster node %u removed seq %llu",
|
||||
old_nodes[i], (unsigned long long)cluster_ringid_seq);
|
||||
-
|
||||
rem_cluster_node(old_nodes[i], now);
|
||||
del_configfs_node(old_nodes[i]);
|
||||
}
|
||||
}
|
||||
|
||||
- for (i = 0; i < leavejoin_count; i++) {
|
||||
- nodeid = leavejoin_nodes[i];
|
||||
-
|
||||
- log_debug("cluster node %u leavejoin seq %llu",
|
||||
- nodeid, (unsigned long long)cluster_ringid_seq);
|
||||
-
|
||||
- /* remove */
|
||||
-
|
||||
- rem_cluster_node(nodeid, now);
|
||||
- del_configfs_node(nodeid);
|
||||
-
|
||||
- /* add */
|
||||
-
|
||||
- add_cluster_node(nodeid, now);
|
||||
-
|
||||
- fence_delay_begin = now;
|
||||
-
|
||||
- err = corosync_cfg_get_node_addrs(ch, nodeid,
|
||||
- MAX_NODE_ADDRESSES,
|
||||
- &num_addrs, addrs);
|
||||
- if (err != CS_OK) {
|
||||
- log_error("corosync_cfg_get_node_addrs failed nodeid %u", nodeid);
|
||||
- continue;
|
||||
- }
|
||||
-
|
||||
- nc = node_config_get(nodeid);
|
||||
-
|
||||
- for (j = 0; j < num_addrs; j++) {
|
||||
- add_configfs_node(nodeid,
|
||||
- addrptr[j].address,
|
||||
- addrptr[j].address_length,
|
||||
- (nodeid == our_nodeid),
|
||||
- nc->mark);
|
||||
- }
|
||||
- }
|
||||
-
|
||||
for (i = 0; i < quorum_node_count; i++) {
|
||||
- if (is_leavejoin_node(quorum_nodes[i]))
|
||||
- continue;
|
||||
if (!is_old_member(quorum_nodes[i])) {
|
||||
log_debug("cluster node %u added seq %llu",
|
||||
quorum_nodes[i], (unsigned long long)cluster_ringid_seq);
|
||||
-
|
||||
add_cluster_node(quorum_nodes[i], now);
|
||||
|
||||
fence_delay_begin = now;
|
||||
@@ -254,11 +176,13 @@ static void quorum_callback(quorum_handle_t cbhandle, uint32_t quorate,
|
||||
}
|
||||
}
|
||||
}
|
||||
-
|
||||
- memset(leavejoin_nodes, 0, sizeof(leavejoin_nodes));
|
||||
- leavejoin_count = 0;
|
||||
}
|
||||
|
||||
+static quorum_callbacks_t quorum_callbacks =
|
||||
+{
|
||||
+ .quorum_notify_fn = quorum_callback,
|
||||
+};
|
||||
+
|
||||
void process_cluster(int ci)
|
||||
{
|
||||
cs_error_t err;
|
||||
@@ -284,23 +208,23 @@ void update_cluster(void)
|
||||
|
||||
int setup_cluster(void)
|
||||
{
|
||||
- quorum_model_v1_data_t model_data;
|
||||
cs_error_t err;
|
||||
int fd;
|
||||
- uint32_t quorum_type = 0;
|
||||
+ uint32_t quorum_type;
|
||||
|
||||
INIT_LIST_HEAD(&cluster_nodes);
|
||||
|
||||
- memset(&model_data, 0, sizeof(model_data));
|
||||
- model_data.quorum_notify_fn = quorum_callback;
|
||||
- model_data.nodelist_notify_fn = quorum_nodelist_callback;
|
||||
-
|
||||
- err = quorum_model_initialize(&qh, QUORUM_MODEL_V1, (quorum_model_data_t *)&model_data, &quorum_type, NULL);
|
||||
+ err = quorum_initialize(&qh, &quorum_callbacks, &quorum_type);
|
||||
if (err != CS_OK) {
|
||||
log_error("quorum init error %d", err);
|
||||
return -1;
|
||||
}
|
||||
|
||||
+ if (quorum_type == QUORUM_FREE) {
|
||||
+ log_error("no quorum provider configured in corosync, unable to operate");
|
||||
+ goto fail;
|
||||
+ }
|
||||
+
|
||||
err = quorum_fd_get(qh, &fd);
|
||||
if (err != CS_OK) {
|
||||
log_error("quorum fd_get error %d", err);
|
||||
--
|
||||
2.33.0
|
||||
|
BIN
dlm-4.2.0.tar.gz
(Stored with Git LFS)
BIN
dlm-4.2.0.tar.gz
(Stored with Git LFS)
Binary file not shown.
BIN
dlm-dlm-4.3.0.tar.gz
(Stored with Git LFS)
Normal file
BIN
dlm-dlm-4.3.0.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
43
dlm_controld-Support-for-extended-value-of-kernel-DL.patch
Normal file
43
dlm_controld-Support-for-extended-value-of-kernel-DL.patch
Normal file
@@ -0,0 +1,43 @@
|
||||
From 1768dd91c309f1bf8b062c28c2edee8e5c7aaab4 Mon Sep 17 00:00:00 2001
|
||||
From: Heming Zhao <heming.zhao@suse.com>
|
||||
Date: Fri, 21 Feb 2025 23:09:35 +0800
|
||||
Subject: [PATCH 1/2] dlm_controld: Support for extended value of kernel
|
||||
DLM_MAX_ADDR_COUNT
|
||||
|
||||
This patch should work with the updated kernel dlm module, because
|
||||
the code changes need to be aligned with the DLM_MAX_ADDR_COUNT value.
|
||||
|
||||
Another notice is that with the current dlm_controld code, users
|
||||
should explicitly add 'protocol=sctp' to the dlm.conf in a corosync
|
||||
3.x env.
|
||||
|
||||
---
|
||||
2025.3.26 by heming zhao
|
||||
I modified this patch by removing the dlm_sand part of the patch.
|
||||
|
||||
Signed-off-by: Heming Zhao <heming.zhao@suse.com>
|
||||
---
|
||||
dlm_controld/dlm_daemon.h | 6 +++---
|
||||
1 files changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/dlm_controld/dlm_daemon.h b/dlm_controld/dlm_daemon.h
|
||||
index 4a533e3451e2..c902228f890f 100644
|
||||
--- a/dlm_controld/dlm_daemon.h
|
||||
+++ b/dlm_controld/dlm_daemon.h
|
||||
@@ -175,10 +175,10 @@ EXTERN struct dlm_option dlm_options[dlm_options_max];
|
||||
|
||||
#define MAX_NODES 128
|
||||
|
||||
-/* Maximum number of IP addresses per node, when using SCTP and multi-ring in
|
||||
- corosync In dlm-kernel this is DLM_MAX_ADDR_COUNT, currently 3. */
|
||||
+/* Maximum number of IP addresses per node, when using SCTP and multi-[ring|link]
|
||||
+ in corosync [2|3]. In dlm-kernel this is DLM_MAX_ADDR_COUNT, currently 8. */
|
||||
|
||||
-#define MAX_NODE_ADDRESSES 4
|
||||
+#define MAX_NODE_ADDRESSES 8
|
||||
|
||||
#define PROTO_TCP 0
|
||||
#define PROTO_SCTP 1
|
||||
--
|
||||
2.43.0
|
||||
|
148
dlm_controld-remove-detect-mode-from-config-item-pro.patch
Normal file
148
dlm_controld-remove-detect-mode-from-config-item-pro.patch
Normal file
@@ -0,0 +1,148 @@
|
||||
From 9d294573d4512ab3c7f3e7ad087df035959e53ec Mon Sep 17 00:00:00 2001
|
||||
From: Heming Zhao <heming.zhao@suse.com>
|
||||
Date: Mon, 10 Mar 2025 15:36:20 +0800
|
||||
Subject: [PATCH 2/2] dlm_controld: remove 'detect' mode from config item
|
||||
'protocol'
|
||||
|
||||
This patch removes the 'detect' mode for the configuration
|
||||
item 'protocol'.
|
||||
|
||||
After this patch, dlm 'protocol' behaviors:
|
||||
- TCP is now the default protocol.
|
||||
- Stop trying to detect:
|
||||
- use dlm.conf or dlm_controld command line to switch from TCP
|
||||
to SCTP.
|
||||
- corosync.conf 'rrp_mode' is not supported in corosync 2.x env.
|
||||
- TCP can work with multi-link, but uses only the first ip address
|
||||
from corosync.
|
||||
- SCTP can support up to 8 ip addresses.
|
||||
|
||||
Note: This change requires a corresponding update to the dlm kernel
|
||||
function dlm_tcp_listen_validate().
|
||||
|
||||
Signed-off-by: Heming Zhao <heming.zhao@suse.com>
|
||||
---
|
||||
dlm_controld/action.c | 39 ++++++-------------------------------
|
||||
dlm_controld/dlm.conf.5 | 11 ++++++++++-
|
||||
dlm_controld/dlm_controld.8 | 2 +-
|
||||
dlm_controld/main.c | 4 ++--
|
||||
4 files changed, 19 insertions(+), 37 deletions(-)
|
||||
|
||||
diff --git a/dlm_controld/action.c b/dlm_controld/action.c
|
||||
index 60eb22a78c56..10f0f67387b1 100644
|
||||
--- a/dlm_controld/action.c
|
||||
+++ b/dlm_controld/action.c
|
||||
@@ -21,35 +21,6 @@ static int comms_nodes_count;
|
||||
#define SPACES_DIR "/sys/kernel/config/dlm/cluster/spaces"
|
||||
#define COMMS_DIR "/sys/kernel/config/dlm/cluster/comms"
|
||||
|
||||
-static int detect_protocol(void)
|
||||
-{
|
||||
- cmap_handle_t handle;
|
||||
- char *str = NULL;
|
||||
- int rv, proto = -1;
|
||||
-
|
||||
- rv = cmap_initialize(&handle);
|
||||
- if (rv != CS_OK) {
|
||||
- log_error("cmap_initialize error %d", rv);
|
||||
- return -1;
|
||||
- }
|
||||
-
|
||||
- rv = cmap_get_string(handle, "totem.rrp_mode", &str);
|
||||
- if (rv != CS_OK)
|
||||
- goto out;
|
||||
-
|
||||
- log_debug("cmap totem.rrp_mode = '%s'", str);
|
||||
-
|
||||
- if (!strcmp(str, "none"))
|
||||
- proto = PROTO_TCP;
|
||||
- else
|
||||
- proto = PROTO_SCTP;
|
||||
- out:
|
||||
- if (str)
|
||||
- free(str);
|
||||
- cmap_finalize(handle);
|
||||
- return proto;
|
||||
-}
|
||||
-
|
||||
static int detect_cluster_name(void)
|
||||
{
|
||||
cmap_handle_t handle;
|
||||
@@ -870,12 +841,14 @@ int setup_configfs_options(void)
|
||||
set_configfs_cluster("mark", NULL, optu(mark_ind));
|
||||
|
||||
proto_name = opts(protocol_ind);
|
||||
- proto_num = -1;
|
||||
+ proto_num = 0; /* default is tcp */
|
||||
|
||||
- if (!strcasecmp(proto_name, "detect") || !strcmp(proto_name, "2"))
|
||||
- proto_num = detect_protocol(); /* may be -1 */
|
||||
+ if (!strcasecmp(proto_name, "detect") || !strcmp(proto_name, "2")) {
|
||||
+ log_error("'detect' mode is not supported anymore, will use default mode (TCP).");
|
||||
+ log_error("see dlm_conf(5) for details.");
|
||||
+ }
|
||||
|
||||
- else if (!strcasecmp(proto_name, "tcp") || !strcmp(proto_name, "0"))
|
||||
+ if (!strcasecmp(proto_name, "tcp") || !strcmp(proto_name, "0"))
|
||||
proto_num = PROTO_TCP;
|
||||
|
||||
else if (!strcasecmp(proto_name, "sctp") || !strcmp(proto_name, "1"))
|
||||
diff --git a/dlm_controld/dlm.conf.5 b/dlm_controld/dlm.conf.5
|
||||
index cb13eaf0db28..073baf883b38 100644
|
||||
--- a/dlm_controld/dlm.conf.5
|
||||
+++ b/dlm_controld/dlm.conf.5
|
||||
@@ -77,13 +77,22 @@ enable_helper
|
||||
|
||||
Options with (*) can be reloaded, see Reload config.
|
||||
|
||||
-.SH Reload config
|
||||
+.SH Reload configuration
|
||||
|
||||
Some dlm.conf settings can be changed while dlm_controld is running using
|
||||
dlm_tool reload_config. Edit dlm.conf, adding, removing, commenting or
|
||||
changing values, then run dlm_tool reload_config to apply the changes in
|
||||
dlm_controld. dlm_tool dump_config will show the new settings.
|
||||
|
||||
+.SH Protocol configuration
|
||||
+
|
||||
+Since the totem.rrp_mode configuration item was deprecated in Corosync 3,
|
||||
+the DLM adjusts the protocol configuration item's style to ensure DLM
|
||||
+functionality on both Corosync 2 and 3. The change is that the protocol
|
||||
+configuration item no longer supports 'detect|2'. The default protocol is
|
||||
+TCP if the user does not specify a protocol on the dlm_daemon command line
|
||||
+or in dlm.conf.
|
||||
+
|
||||
.SH Fencing
|
||||
|
||||
A fence device definition begins with a
|
||||
diff --git a/dlm_controld/dlm_controld.8 b/dlm_controld/dlm_controld.8
|
||||
index 3aab388531df..d72ebb299f7d 100644
|
||||
--- a/dlm_controld/dlm_controld.8
|
||||
+++ b/dlm_controld/dlm_controld.8
|
||||
@@ -31,7 +31,7 @@ For default settings, see dlm_controld -h.
|
||||
|
||||
.B --protocol | -r
|
||||
.I str
|
||||
- dlm kernel lowcomms protocol: tcp, sctp, detect
|
||||
+ dlm kernel lowcomms protocol: tcp, sctp
|
||||
|
||||
.B --debug_logfile | -L
|
||||
write debugging to log file
|
||||
diff --git a/dlm_controld/main.c b/dlm_controld/main.c
|
||||
index 1c4333373617..6fb6dffeadaf 100644
|
||||
--- a/dlm_controld/main.c
|
||||
+++ b/dlm_controld/main.c
|
||||
@@ -1817,8 +1817,8 @@ static void set_opt_defaults(void)
|
||||
|
||||
set_opt_default(protocol_ind,
|
||||
"protocol", 'r', req_arg_str,
|
||||
- -1, "detect", 0, 0,
|
||||
- "dlm kernel lowcomms protocol: tcp, sctp, detect");
|
||||
+ 0, "tcp", 0, 0,
|
||||
+ "dlm kernel lowcomms protocol: tcp, sctp");
|
||||
|
||||
set_opt_default(port_ind,
|
||||
"port", 'R', req_arg_uint,
|
||||
--
|
||||
2.43.0
|
||||
|
26
dlm_controld-terminate-uevent-buffer.patch
Normal file
26
dlm_controld-terminate-uevent-buffer.patch
Normal file
@@ -0,0 +1,26 @@
|
||||
From 536a527329f3b559c40154461c84e279bcb36cf4 Mon Sep 17 00:00:00 2001
|
||||
From: David Teigland <teigland@redhat.com>
|
||||
Date: Thu, 15 Aug 2024 11:05:54 -0500
|
||||
Subject: [PATCH] dlm_controld: terminate uevent buffer
|
||||
|
||||
for checker
|
||||
---
|
||||
dlm_controld/main.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/dlm_controld/main.c b/dlm_controld/main.c
|
||||
index 24f0b3f8e044..1c4333373617 100644
|
||||
--- a/dlm_controld/main.c
|
||||
+++ b/dlm_controld/main.c
|
||||
@@ -714,6 +714,8 @@ static void process_uevent(int ci)
|
||||
return;
|
||||
}
|
||||
|
||||
+ buf[MAX_LINE_UEVENT-1] = '\0';
|
||||
+
|
||||
decode_uevent(buf, rv, uevent_vars, Env_Last, uevent_vals);
|
||||
|
||||
if (!uevent_vals[Env_ACTION] ||
|
||||
--
|
||||
2.43.0
|
||||
|
@@ -1,3 +1,99 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Mar 26 00:59:00 UTC 2025 - heming.zhao@suse.com
|
||||
|
||||
- libdlm supports corosync 3.x multi-link (jsc#PED-11932)
|
||||
* add upstream patch
|
||||
+ dlm_controld-terminate-uevent-buffer.patch
|
||||
+ dlm_controld-Support-for-extended-value-of-kernel-DL.patch
|
||||
+ dlm_controld-remove-detect-mode-from-config-item-pro.patch
|
||||
* remove useless folder
|
||||
- %{_datadir}/doc/packages/libdlm-%{version}
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed May 8 06:24:00 UTC 2024 - heming.zhao@suse.com - 4.3.0
|
||||
|
||||
- update libdlm to version 4.3.0: no changelog available (jsc#PED-8085)
|
||||
* remove patches which are already included by upstream code
|
||||
- 0001-Revert-treewide-add-fcf-protection-full-to-CFLAGS.patch
|
||||
- 0002-dlm_controld-increase-uevent-recv-buffer.patch
|
||||
- 0003-dlm_controld-constify-lsnames.patch
|
||||
- 0004-dlm_controld-better-uevent-filtering.patch
|
||||
- 0005-libdlm_lt-fix-pc-file.patch
|
||||
- 0006-dlm_tool-add-fail-functionality-if-dump-failed.patch
|
||||
- 0007-dlm_controld-always-create-logdir.patch
|
||||
- 0008-dlm_controld-move-processing-of-saved-messages-to-pl.patch
|
||||
- 0009-dlm_controld-remove-ls-parameter.patch
|
||||
- 0010-dlm_controld-constify-timeval-of-dt_usec.patch
|
||||
- 0011-dlm_controld-add-gcc-format-printf-attribute-to-log_.patch
|
||||
- 0012-dlm_controld-use-write_result.patch
|
||||
- 0013-dlm_controld-be-sure-we-stop-lockspaces-before-shutd.patch
|
||||
- 0014-dlm_controld-constify-name_in-in-log_level.patch
|
||||
- 0015-dlm_controld-initialize-waiter-flags.patch
|
||||
- 0016-dlm_controld-get-rid-of-unnecessary-memset.patch
|
||||
- 0017-dlm_controld-remove-unnecessary-list_empty-check.patch
|
||||
- 0018-dlm_controld-set-posix_lock-flags-to-zero.patch
|
||||
- 0019-dlm_controld-init-plocks_data-to-zero.patch
|
||||
- 0020-dlm_tool-fix-missing-fclose-calls.patch
|
||||
- 0005-build-dlm_controld-disable-annobin-plugin.patch
|
||||
- bug-1212767-dlm_controld-remove-unnecessary-header-include.patch
|
||||
|
||||
* remove patches for supporting corosync3
|
||||
- bug-1191734_0015-Revert-dlm_controld-add-version-check-for-libquorum.patch
|
||||
- bug-1191734_0016-Revert-dlm_controld-use-new-quorum-api-to-detect-mis.patch
|
||||
|
||||
* update BuildRequires in libdlm.spec to specific corosync3 libs
|
||||
- update libdlm.spec
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Sep 20 02:59:00 UTC 2023 - heming.zhao@suse.com
|
||||
|
||||
- update libdlm to latest code (e5ca08c20e6f) (jsc#PED-6362)
|
||||
* remove patches which replaced by upstream patch
|
||||
- 0007-Revert-treewide-add-fcf-protection-full-to-CFLAGS.patch
|
||||
|
||||
* change patch name
|
||||
- 0006-dlm_controld-remove-unnecessary-header-include.patch
|
||||
+ bug-1212767-dlm_controld-remove-unnecessary-header-include.patch
|
||||
|
||||
* add upstream patch
|
||||
+ 0001-Revert-treewide-add-fcf-protection-full-to-CFLAGS.patch
|
||||
+ 0002-dlm_controld-increase-uevent-recv-buffer.patch
|
||||
+ 0003-dlm_controld-constify-lsnames.patch
|
||||
+ 0004-dlm_controld-better-uevent-filtering.patch
|
||||
+ 0005-libdlm_lt-fix-pc-file.patch
|
||||
+ 0006-dlm_tool-add-fail-functionality-if-dump-failed.patch
|
||||
+ 0007-dlm_controld-always-create-logdir.patch
|
||||
+ 0008-dlm_controld-move-processing-of-saved-messages-to-pl.patch
|
||||
+ 0009-dlm_controld-remove-ls-parameter.patch
|
||||
+ 0010-dlm_controld-constify-timeval-of-dt_usec.patch
|
||||
+ 0011-dlm_controld-add-gcc-format-printf-attribute-to-log_.patch
|
||||
+ 0012-dlm_controld-use-write_result.patch
|
||||
+ 0013-dlm_controld-be-sure-we-stop-lockspaces-before-shutd.patch
|
||||
+ 0014-dlm_controld-constify-name_in-in-log_level.patch
|
||||
+ 0015-dlm_controld-initialize-waiter-flags.patch
|
||||
+ 0016-dlm_controld-get-rid-of-unnecessary-memset.patch
|
||||
+ 0017-dlm_controld-remove-unnecessary-list_empty-check.patch
|
||||
+ 0018-dlm_controld-set-posix_lock-flags-to-zero.patch
|
||||
+ 0019-dlm_controld-init-plocks_data-to-zero.patch
|
||||
+ 0020-dlm_tool-fix-missing-fclose-calls.patch
|
||||
|
||||
* WHAT'S NEW for this update
|
||||
+ dlm_tool: fix missing fclose calls
|
||||
+ dlm_controld: init plocks_data to zero
|
||||
+ dlm_controld: set posix_lock flags to zero
|
||||
+ dlm_controld: remove unnecessary list_empty check
|
||||
+ dlm_controld: get rid of unnecessary memset
|
||||
+ dlm_controld: initialize waiter->flags
|
||||
+ dlm_controld: be sure we stop lockspaces before shutdown
|
||||
+ dlm_controld: use write_result()
|
||||
+ dlm_controld: remove ls parameter
|
||||
+ dlm_controld: move processing of saved messages to plock level
|
||||
+ dlm_controld: always create logdir
|
||||
+ dlm_tool: add fail functionality if dump failed
|
||||
+ libdlm_lt: fix pc file
|
||||
+ dlm_controld: better uevent filtering
|
||||
+ dlm_controld: increase uevent recv buffer
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 27 12:44:30 UTC 2023 - Ana Guerrero <ana.guerrero@suse.com>
|
||||
|
||||
|
41
libdlm.spec
41
libdlm.spec
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package libdlm
|
||||
#
|
||||
# Copyright (c) 2023 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -34,26 +34,30 @@ Name: libdlm
|
||||
Summary: Application interface to the kernel's distributed lock manager
|
||||
License: GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.1-or-later
|
||||
Group: Productivity/Clustering/HA
|
||||
Version: 4.2.0
|
||||
Version: 4.3.0
|
||||
Release: 0
|
||||
URL: https://pagure.io/dlm/
|
||||
Source: https://releases.pagure.org/dlm/dlm-%{version}.tar.gz
|
||||
Source: https://pagure.io/dlm/archive/dlm-%{version}/dlm-dlm-%{version}.tar.gz
|
||||
|
||||
##################
|
||||
#upstream patch
|
||||
Patch0001: dlm_controld-terminate-uevent-buffer.patch
|
||||
Patch0002: dlm_controld-Support-for-extended-value-of-kernel-DL.patch
|
||||
Patch0003: dlm_controld-remove-detect-mode-from-config-item-pro.patch
|
||||
|
||||
# suse special patch
|
||||
Patch101: 0001-makefile-for-diff-arch.patch
|
||||
Patch102: 0002-remove-sd-notify.patch
|
||||
Patch103: 0003-bnc#874705-nodes-without-quorum.patch
|
||||
Patch104: 0004-man-dlm.conf-add-note-that-the-file-is-not-creat.patch
|
||||
Patch105: bug-1191734_0015-Revert-dlm_controld-add-version-check-for-libquorum.patch
|
||||
Patch106: bug-1191734_0016-Revert-dlm_controld-use-new-quorum-api-to-detect-mis.patch
|
||||
Patch107: 0005-build-dlm_controld-disable-annobin-plugin.patch
|
||||
Patch108: 0006-dlm_controld-remove-unnecessary-header-include.patch
|
||||
Patch109: 0007-Revert-treewide-add-fcf-protection-full-to-CFLAGS.patch
|
||||
###################
|
||||
Patch1001: 0001-makefile-for-diff-arch.patch
|
||||
Patch1002: 0002-remove-sd-notify.patch
|
||||
Patch1003: 0003-bnc#874705-nodes-without-quorum.patch
|
||||
Patch1004: 0004-man-dlm.conf-add-note-that-the-file-is-not-creat.patch
|
||||
|
||||
##################
|
||||
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: glib2-devel
|
||||
BuildRequires: libcorosync-devel
|
||||
BuildRequires: libtool
|
||||
BuildRequires: libxml2-devel
|
||||
BuildRequires: pkgconfig(corosync) >= 3.1.0
|
||||
BuildRequires: pkgconfig(pacemaker)
|
||||
BuildRequires: pkgconfig(systemd)
|
||||
BuildRequires: pkgconfig(udev)
|
||||
@@ -68,8 +72,8 @@ Summary: Application interface to the kernel's distributed lock manager
|
||||
# libdlm2 (openSUSE 11.2) also contained libdlm*.so.3
|
||||
License: GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.1-or-later
|
||||
Group: System/Libraries
|
||||
Obsoletes: libdlm2
|
||||
Conflicts: libdlm2
|
||||
Obsoletes: libdlm2 < 2.99
|
||||
Conflicts: libdlm2 < 2.99
|
||||
|
||||
%description -n libdlm3
|
||||
Libraries and tools that allow applications, particularly filesystems
|
||||
@@ -86,7 +90,7 @@ Libraries and tools that allow applications, particularly filesystems
|
||||
like OCFS2, to interface with the in-kernel distributed lock manager.
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n dlm-%{version}
|
||||
%autosetup -p1 -n dlm-dlm-%{version}
|
||||
|
||||
%build
|
||||
echo "V_%version { global: *; };" >dlm.ver
|
||||
@@ -98,7 +102,6 @@ make all UDEVDIR="%{_udevrulesdir}"
|
||||
%install
|
||||
###########################################################
|
||||
%make_install UDEVDIR="%{_udevrulesdir}"
|
||||
mkdir -p $RPM_BUILD_ROOT%{_datadir}/doc/packages/libdlm-%{version}
|
||||
|
||||
install -Dm 0644 init/dlm.service $RPM_BUILD_ROOT%{_unitdir}/dlm.service
|
||||
install -Dm 0644 init/dlm.sysconfig $RPM_BUILD_ROOT%{_fillupdir}/sysconfig.dlm
|
||||
@@ -124,7 +127,6 @@ install -Dm 0644 init/dlm.sysconfig $RPM_BUILD_ROOT%{_fillupdir}/sysconfig.dlm
|
||||
%postun -n libdlm3 -p /sbin/ldconfig
|
||||
|
||||
%files
|
||||
%dir %{_datadir}/doc/packages/libdlm-%{version}
|
||||
%{_udevrulesdir}/51-dlm.rules
|
||||
%{_sbindir}/dlm_controld
|
||||
%{_sbindir}/dlm_stonith
|
||||
@@ -132,7 +134,6 @@ install -Dm 0644 init/dlm.sysconfig $RPM_BUILD_ROOT%{_fillupdir}/sysconfig.dlm
|
||||
%{_datadir}/man/man8/*.gz
|
||||
%{_datadir}/man/man3/*.gz
|
||||
%{_datadir}/man/man5/*.gz
|
||||
%{_datadir}/doc/packages/libdlm-%{version}
|
||||
%{_unitdir}/dlm.service
|
||||
%{_fillupdir}/sysconfig.dlm
|
||||
|
||||
|
Reference in New Issue
Block a user