Sync from SUSE:SLFO:Main libdlm revision 0e8114ea37c2da847bf602d76dba08fa

This commit is contained in:
Adrian Schröter 2024-05-03 14:51:46 +02:00
commit 7d1144a37e
13 changed files with 1167 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

View File

@ -0,0 +1,34 @@
Index: a/dlm_controld/Makefile
===================================================================
--- a/dlm_controld/Makefile
+++ b/dlm_controld/Makefile
@@ -1,6 +1,11 @@
DESTDIR=
PREFIX=/usr
-LIBNUM=/lib64
+cpu_bit=$(shell getconf LONG_BIT)
+ifeq ($(cpu_bit),64)
+ LIBNUM=/lib64
+else
+ LIBNUM=/lib
+endif
BINDIR=$(PREFIX)/sbin
LIBDIR=$(PREFIX)/$(LIBNUM)
HDRDIR=$(PREFIX)/include
Index: libdlm-4.0.2/libdlm/Makefile
===================================================================
--- libdlm-4.0.2.orig/libdlm/Makefile
+++ libdlm-4.0.2/libdlm/Makefile
@@ -1,6 +1,11 @@
DESTDIR=
PREFIX=/usr
-LIBNUM=/lib64
+cpu_bit=$(shell getconf LONG_BIT)
+ifeq ($(cpu_bit),64)
+ LIBNUM=/lib64
+else
+ LIBNUM=/lib
+endif
LIBDIR=$(PREFIX)/$(LIBNUM)
HDRDIR=$(PREFIX)/include
MANDIR=$(PREFIX)/share/man

View File

@ -0,0 +1,13 @@
Index: a/dlm_controld/Makefile
===================================================================
--- a/dlm_controld/Makefile
+++ b/dlm_controld/Makefile
@@ -6,7 +6,7 @@ LIBDIR=$(PREFIX)/$(LIBNUM)
MANDIR=$(PREFIX)/share/man
PKGDIR=$(LIBDIR)/pkgconfig
-USE_SD_NOTIFY=yes
+USE_SD_NOTIFY=no
BIN_TARGET = dlm_controld

View File

@ -0,0 +1,36 @@
Index: libdlm-4.0.2/dlm_controld/cpg.c
===================================================================
--- libdlm-4.0.2.orig/dlm_controld/cpg.c
+++ libdlm-4.0.2/dlm_controld/cpg.c
@@ -1261,6 +1261,19 @@ void process_lockspace_changes(void)
poll_fs = 0;
list_for_each_entry_safe(ls, safe, &lockspaces, list) {
+ if (ls->leaving && !(opt(enable_quorum_lockspace_ind)
+ && !cluster_quorate)) {
+ log_group(ls, "confchg for our leave");
+ stop_kernel(ls, 0);
+ set_configfs_members(ls, ls->name, 0, NULL, 0, NULL);
+ set_sysfs_event_done(ls->name, 0);
+ cpg_finalize(ls->cpg_handle);
+ client_dead(ls->cpg_client);
+ purge_plocks(ls, our_nodeid, 1);
+ list_del(&ls->list);
+ free_ls(ls);
+ return;
+ }
if (!list_empty(&ls->changes))
apply_changes(ls);
}
@@ -1414,7 +1427,10 @@ static void confchg_cb(cpg_handle_t hand
return;
}
- if (ls->leaving && we_left(left_list, left_list_entries)) {
+ /*check currently if we have quorum in order to keep the
+ same behavior with other nodes*/
+ if (ls->leaving && we_left(left_list, left_list_entries)
+ && !(opt(enable_quorum_lockspace_ind) && !cluster_quorate)) {
/* we called cpg_leave(), and this should be the final
cpg callback we receive */
log_group(ls, "confchg for our leave");

View File

@ -0,0 +1,33 @@
From 74595a9400f20c4d4fd83c0a748ddb875d39f578 Mon Sep 17 00:00:00 2001
From: Gang He <ghe@suse.com>
Date: Mon, 14 Sep 2020 15:51:01 +0800
Subject: [PATCH] man dlm.conf: add note that the file is not created
/etc/dlm/dlm.conf file is not created during installation.
we need to tell the user this configuration file does not exist.
Signed-off-by: Gang He <ghe@suse.com>
---
dlm_controld/dlm.conf.5 | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/dlm_controld/dlm.conf.5 b/dlm_controld/dlm.conf.5
index 0eb226358100..02a52e977f54 100644
--- a/dlm_controld/dlm.conf.5
+++ b/dlm_controld/dlm.conf.5
@@ -422,6 +422,12 @@ node id=1 mark=42
For local nodes this value doesn't have any effect.
+.SH NOTES
+.B /etc/dlm/dlm.conf
+file is not created during installation.
+.br
+If you want to modify any default configuration items, you need to create and edit the file.
+
.SH SEE ALSO
.BR dlm_controld (8),
.BR dlm_tool (8)
--
2.12.3

View File

@ -0,0 +1,13 @@
--- 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

View File

@ -0,0 +1,33 @@
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

View File

@ -0,0 +1,70 @@
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

View File

@ -0,0 +1,28 @@
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

View File

@ -0,0 +1,186 @@
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) Normal file

Binary file not shown.

543
libdlm.changes Normal file
View File

@ -0,0 +1,543 @@
-------------------------------------------------------------------
Tue Jun 27 12:44:30 UTC 2023 - Ana Guerrero <ana.guerrero@suse.com>
- Update to v4.2.0
* remove patches included upstream
+ bug-1191734_0001-libdlm-add-stdint.h-to-api-header.patch
+ bug-1191734_0002-dlm_controld-create-var-parent-directories.patch
+ bug-1191734_0003-stonith_helper-fix-build.patch
+ bug-1191734_0004-plock-move-clear-waiter-to-debug-info.patch
+ bug-1191734_0005-treewide-try-to-resolve-symbols-at-linking-time.patch
+ bug-1191734_0006-dlm_controld-add-version-check-for-libquorum.patch
+ bug-1191734_0007-dlm_tool-man-add-command-joinleave-USAGE.patch
+ bug-1191734_0008-man-add-reload_config-in-dlm_tool-dlm.conf.patch
+ bug-1191734_0009-add-new-dlm_tool-command-reload_config.patch
+ bug-1191734_0010-dlm_tool-man-add-new-command-set_config.patch
+ bug-1191734_0011-dlm_tool-dlm_controld-add-new-feature-set_config.patch
+ bug-1191734_0012-fix-some-minor-bugs.patch
+ bug-1191734_0013-dlm_controld-fix-string-copies.patch
+ bug-1191734_0014-man-page-updates.patch
* patch to disable annobin (still not available in openSUSE)
+ 0005-build-dlm_controld-disable-annobin-plugin.patch
* patch to remove unnecesary header (boo#1212767)
+ 0006-dlm_controld-remove-unnecessary-header-include.patch
* patch to remove -fcf-protection=full, not supported in SLE15
+ 0007-Revert-treewide-add-fcf-protection-full-to-CFLAGS.patch
-------------------------------------------------------------------
Fri May 27 06:12:29 UTC 2022 - Yan Gao <ygao@suse.com>
- Adjust BuildRequires libpacemaker-devel -> pkgconfig(pacemaker)
-------------------------------------------------------------------
Mon Oct 18 08:29:00 UTC 2021 - heming.zhao@suse.com
- Update to v4.1.0+ (bsc#1191734)
* include some fixes/enhancements upstream patches based on 4.1.0 tag
+ bug-1191734_0001-libdlm-add-stdint.h-to-api-header.patch
+ bug-1191734_0002-dlm_controld-create-var-parent-directories.patch
+ bug-1191734_0003-stonith_helper-fix-build.patch
+ bug-1191734_0004-plock-move-clear-waiter-to-debug-info.patch
+ bug-1191734_0005-treewide-try-to-resolve-symbols-at-linking-time.patch
+ bug-1191734_0006-dlm_controld-add-version-check-for-libquorum.patch
+ bug-1191734_0007-dlm_tool-man-add-command-joinleave-USAGE.patch
+ bug-1191734_0008-man-add-reload_config-in-dlm_tool-dlm.conf.patch
+ bug-1191734_0009-add-new-dlm_tool-command-reload_config.patch
+ bug-1191734_0010-dlm_tool-man-add-new-command-set_config.patch
+ bug-1191734_0011-dlm_tool-dlm_controld-add-new-feature-set_config.patch
+ bug-1191734_0012-fix-some-minor-bugs.patch
+ bug-1191734_0013-dlm_controld-fix-string-copies.patch
+ bug-1191734_0014-man-page-updates.patch
* patch for compatible with corosync-2.4.5+
+ 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
* drop 2 patches which are already included in upstream code
- cluster-ringid-seq.patch
- sysmacros.patch
* change name and modify patch for code changed
- dlm_controld-add-note-that-the-dlm-file-is-not-creat.patch
+ 0004-man-dlm.conf-add-note-that-the-file-is-not-creat.patch
* change libdlm.spec to seperate upsteam patch and suse special patch
-------------------------------------------------------------------
Wed Oct 14 11:04:44 UTC 2020 - Jan Engelhardt <jengelh@inai.de>
- Do build with SUSE's %optflags.
- Abolish historic specfile constructs.
- Rework libdlm3 require with a shared library version
tag instead so it propagates to all consuming packages.
-------------------------------------------------------------------
Wed Oct 14 10:10:20 UTC 2020 - ghe@suse.com
- Add require libdlm3 (bsc#1177658)
-------------------------------------------------------------------
Mon Sep 21 11:10:20 UTC 2020 - ghe@suse.com
- Add dependency relationship between libdlm and dlm-kmp (bsc#1121380)
-------------------------------------------------------------------
Tue Sep 15 10:30:20 UTC 2020 - ghe@suse.com
- Add notes in dlm.conf man page (bsc#1175812)
* add dlm_controld-add-note-that-the-dlm-file-is-not-creat.patch
-------------------------------------------------------------------
Fri May 15 08:10:20 UTC 2020 - ghe@suse.com
- Support uint64_t corosync ringid (bsc#1168771)
* add cluster-ringid-seq.patch
-------------------------------------------------------------------
Mon Aug 5 09:16:31 UTC 2019 - ghe@suse.com
- Update to v4.0.9
* include some fixes/enhancements for dlm_controld (bsc#1144793)
* source moved to https://pagure.io/dlm
* drop 0004-bsc#1098449-dlm_stonith-explicitly-use-libstonithd.patch
-------------------------------------------------------------------
Thu Nov 15 10:40:59 UTC 2018 - ygao@suse.com
- Explicitly use and link libstonithd from libpacemaker3 (bsc#1098449)
* 0004-bsc#1098449-dlm_stonith-explicitly-use-libstonithd.patch
-------------------------------------------------------------------
Mon Aug 6 11:01:48 UTC 2018 - schwab@suse.de
- sysmacros.patch: Include <sys/sysmacros.h> for minor
-------------------------------------------------------------------
Thu Nov 23 13:48:46 UTC 2017 - rbrown@suse.com
- Replace references to /var/adm/fillup-templates with new
%_fillupdir macro (boo#1069468)
-------------------------------------------------------------------
Tue Feb 14 09:04:32 UTC 2017 - jengelh@inai.de
- Use source URL; drop redundant %clean section;
rectify RPM groups; run fdupes to merge duplicate files.
-------------------------------------------------------------------
Sat Feb 4 07:26:02 UTC 2017 - zren@suse.com
- Update to v4.0.7
* bsc#1023595: libdlm: upgrade version to 4.0.7
- Re-add the dropped bsc numbers to follow the factory-first policy
* take Factory fixes for SLE12 (boo#944795, bsc#944797)
-------------------------------------------------------------------
Mon Jul 25 06:54:31 UTC 2016 - zren@suse.com
- Update to v4.0.6
* In v4.0.4, there's a stupid and severe bug so that upstream
released v4.0.5 soon with an urgent fix
* Upstream merged our fix for bsc#977201 with release v4.0.6,
so I still use the 2 below bugs for this updates:
* bsc#967332: libdlm: package update to v4.0.4
* bsc#977201: output of `dlm_tool ls` should distinguish causes
for "wait fencing" message
- Drop patches
* bnc#875122dlm_controld-fix-long-name-in-log-entry.patch
* build-dlm_stonith.patch
- Rename patches more readable
* remove: Makefile-for-diff-arch.patch, remove-sd-notify.patch,
bnc#874705nodes-without-quorum.patch
* add: 0001-makefile-for-diff-arch.patch,
0002-remove-sd-notify.patch,
0003-bnc#874705-nodes-without-quorum.patch
-------------------------------------------------------------------
Mon Feb 15 06:15:03 UTC 2016 - zren@suse.com
- Update to V4.0.4
* Remove build-dlm_stonith.patch
* Reove bnc#875122dlm_controld-fix-long-name-in-log-entry.patch
-------------------------------------------------------------------
Fri May 1 16:41:52 UTC 2015 - jengelh@inai.de
- Avoid running sh for %post ldconfig
- Default to implicit -n for %setup
-------------------------------------------------------------------
Sun Apr 12 16:30:46 UTC 2015 - crrodriguez@opensuse.org
- Move udev rules to %{_udevrulesdir}, packages should
not ship files in /etc/udev/rules.d which is reserved
for the sysadmin.
-------------------------------------------------------------------
Fri Nov 14 08:33:11 UTC 2014 - dimstar@opensuse.org
- BuildRequire pkgconfig(systemd) instead of systemd-devel.
-------------------------------------------------------------------
Wed May 21 11:34:53 UTC 2014 - jsegitz@novell.com
- added necessary macros for systemd files
-------------------------------------------------------------------
Tue May 20 08:06:58 UTC 2014 - lzhong@suse.com
- fix different behavior when nodes without quorum
+ bnc#874705nodes-without-quorum.patch
-------------------------------------------------------------------
Mon Apr 28 02:36:41 UTC 2014 - lzhong@suse.com
- dlm_controld print out error format message(bnc#875122)
+ bnc#875122dlm_controld-fix-long-name-in-log-entry.patch
-------------------------------------------------------------------
Mon Mar 31 06:12:40 UTC 2014 - lzhong@suse.com
- dlm_controld notifies systemd(bnc#870626)
+ remove-sd-notify.patch
-------------------------------------------------------------------
Sat Sep 7 09:40:54 CDT 2013 - rgoldwyn@suse.com
- Build dlm_stonith to prox fencing for pacemaker
+ build-dlm_stonith.patch
- Remove patch to use default fscontrol using sysconfig
- libdlm-enable-fscontrol.patch
-------------------------------------------------------------------
Thu Aug 1 04:33:51 UTC 2013 - lzhong@suse.com
- Update to V4.0.2
-------------------------------------------------------------------
Tue Jul 23 01:44:05 UTC 2013 - lzhong@suse.com
- Update to V4.0.1(openSuse13.1)
+ file a patch for opensuse build service
- Remove patches from sle11sp3 for either merged in the upstream
or obsoleted.
- bnc804707-reduce-RR-priority.patch
- bnc777137-fix-plock-dev_write_no_op.patch
- libdlm-gcc47.patch
- libdlm-pacemaker.patch
-------------------------------------------------------------------
Mon Jun 24 07:59:44 UTC 2013 - ygao@suse.com
- dl_controld: libdlm-pacemaker.patch
* Replace use of send_ais_text() with send_cluster_text()
* Replace use of ais_dispatch() with plugin_dispatch()
* Replace use of crm_peer_id_cache with crm_peer_cache
-------------------------------------------------------------------
Mon May 27 08:14:43 UTC 2013 - tserong@suse.com
- Replace NAME= with SYMLINK+= in udev rules (bnc#779718)
+ use-symlink-in-udev-rules.patch
-------------------------------------------------------------------
Thu Mar 28 09:50:01 UTC 2013 - dmzhang@suse.com
- reduce dlm_controld priority to RR(1). (bnc#804707)
-------------------------------------------------------------------
Fri Feb 22 18:16:54 UTC 2013 - lmb@suse.com
- Make sure we poll the right fd for AIS notifications to avoid spinning
(bnc#803746)
-------------------------------------------------------------------
Mon Jan 28 14:48:07 UTC 2013 - coolo@suse.com
- small cleanup of spec file
-------------------------------------------------------------------
Mon Jan 28 06:42:32 UTC 2013 - xli@suse.com
- fix the build issue on openSuSE 12.3 Milestone 1 (bnc#798263)
add bnc798263-fix-opensuse123-compile-error.patch
-------------------------------------------------------------------
Fri Aug 24 02:51:55 UTC 2012 - jjzhang@suse.com
- dlm_controld: fix plock dev_write no op (bnc#777137)
add bnc777137-fix-plock-dev_write-no-op.patch
-------------------------------------------------------------------
Sat Jun 23 07:21:44 UTC 2012 - ygao@suse.com
- dlm_controld: Replace use of crm_is_member_active() with the new
crm_is_peer_active() from pacemaker > 1.1.7
-------------------------------------------------------------------
Thu May 24 10:38:35 UTC 2012 - idonmez@suse.com
- Fix build with gcc 4.7
-------------------------------------------------------------------
Fri Dec 16 04:55:40 UTC 2011 - tserong@suse.com
- fix build with current pacemaker
(/usr/include/pacemaker/crm/common/stack.h
moved to
/usr/include/pacemaker/crm/cluster/stack.h)
-------------------------------------------------------------------
Sun Nov 13 09:15:17 UTC 2011 - coolo@suse.com
- add libtool as explicit buildrequire to avoid implicit dependency from prjconf
-------------------------------------------------------------------
Tue Sep 20 14:07:24 UTC 2011 - tserong@suse.com
- dlm_controld: fix build with old (< 3.0) kernel headers
- dlm_controld: clear waiting plocks for closed files
- dlm_controld: Introduce RB tree for improving plock resources searching
efficiency
- dlm_controld: RB tree implementation borrowed from the kernel source
- dlm_controld: remove oom_adj
- dlm_controld: ignore plocks until checkpoint time
- dlm_controld: fix plock signature in stored message
- dlm_controld: fix plock owner syncing
- dlm_controld: fix plock owner in checkpoints
- dlm_controld: fix plock checkpoint signatures
- dlm_controld: wrong fencing time comparison
- dlm_controld.pcmk: Prevent use-of-NULL by checking the node has a valid
address before adding it to configfs
- dlm_controld: always return error if the daemon is not ready to operate
-------------------------------------------------------------------
Tue Aug 30 19:36:41 UTC 2011 - andrea.turrini@gmail.com
- Fixed typos and removed duplicated "Authors:" entry in
descriptions of libdlm.spec
-------------------------------------------------------------------
Mon May 23 19:39:04 UTC 2011 - crrodriguez@opensuse.org
- Avoid adding build time in binaries, breaks build-compare.
-------------------------------------------------------------------
Tue Feb 8 12:24:01 UTC 2011 - tserong@novell.com
- bnc-634240_reset-fs_notified.diff : Reset fs_notified when check_fs_done
-------------------------------------------------------------------
Thu Aug 19 11:13:53 UTC 2010 - tserong@novell.com
- Revert previous change ("allow libdlm to compile with new
pacemaker version")
-------------------------------------------------------------------
Mon Jun 14 15:16:06 UTC 2010 - lmb@novell.com
- Allow libdlm to compile with new pacemaker version.
-------------------------------------------------------------------
Tue May 18 01:46:52 UTC 2010 - tserong@novell.com
- Reverted libdlm-bug-603685-v2.diff (bug now fixed in Pacemaker)
-------------------------------------------------------------------
Fri May 14 12:54:48 UTC 2010 - lmb@novell.com
- libdlm-bug-603685-v2.diff: fix dlm_controld.pcmk member processing
(bnc#603685)
-------------------------------------------------------------------
Mon Apr 26 16:00:24 UTC 2010 - coly.li@suse.de
- update from upstream (cs fae6ee39)
- dlm_controld: don't log errors after disabling plocks
- dlm_controld: don't skip unlinking checkpoint
- dlm_controld: set last_plock_time for ownership operations
- dlm_controld: add plock checkpoint signatures
- dlm_controld: check all messages against enable options
- dlm_controld: avoid full plock unlock when no resource exists
-------------------------------------------------------------------
Wed Mar 24 18:34:58 UTC 2010 - coyli@novell.com
- update from upstream:
- dlm_controld: set rmem for sctp
- misc: update copyright year and owners
- man pages: dlm_tool and dlm_controld
- dlm_controld/libdlmcontrol/dlm_tool: separate plock debug buffer
- dlm_controld: add more fs_notified debugging
-------------------------------------------------------------------
Fri Feb 5 10:22:31 UTC 2010 - coyli@novell.com
- delete 64bytes_lvb_len.diff (bnc#573460)
-------------------------------------------------------------------
Wed Jan 27 09:32:49 UTC 2010 - lmb@novell.com
- Remove libdlm2 on upgrade.
-------------------------------------------------------------------
Tue Dec 8 06:35:06 UTC 2009 - coyli@novell.com
- 64bytes_lvb_len.diff: change DLM_LVB_LEN to 64 bytes (bnc#515645)
-------------------------------------------------------------------
Wed Dec 2 08:35:31 UTC 2009 - coyli@novell.com
- remove already-in-upstream patches from package
-------------------------------------------------------------------
Wed Dec 2 07:44:08 UTC 2009 - coyli@novell.com
- update to upstream commit 7ad436ba4a7d68a79510fd6c033568b6bb100191.
not pass compiling yet
-------------------------------------------------------------------
Thu Nov 26 18:31:24 UTC 2009 - coyli@novell.com
- upgrade package version number from 2.99.08 to 3.00.01, no code
modified.
-------------------------------------------------------------------
Tue Sep 29 06:54:06 UTC 2009 - "lmb@novell.com"
- libdlm-lockspace-fs_notify.diff: fix a race which could lead to an
infinite logging loop (bnc#532406).
-------------------------------------------------------------------
Tue Sep 22 14:19:50 UTC 2009 - "lmb@novell.com"
- dlm-no-quorum-default.diff: change quorum handling to allow cluster to
shutdown nodes one-by-one (bnc#541042).
-------------------------------------------------------------------
Thu Sep 3 09:25:51 UTC 2009 - "lmb@novell.com"
- dlm-debug.diff: Include the lockspace name in syslog().
-------------------------------------------------------------------
Thu Aug 27 16:14:16 UTC 2009 - "lmb@novell.com"
- dlm-plock-optimization.diff: allow plocks to revert back to single
node mode (bnc#497176).
-------------------------------------------------------------------
Mon Aug 10 17:48:27 UTC 2009 - lmb@novell.com
- libdlm-lockspace-recovery.patch: ensure that all lock spaces are
recovered (bnc#528425).
-------------------------------------------------------------------
Wed Jul 29 16:20:24 CST 2009 - coly.li@suse.de
- add ocfs2-kmp to libdlm requires, since fs/dlm will be integrated
into ocfs2-kmp.
-------------------------------------------------------------------
Tue Jul 21 15:10:39 CEST 2009 - lmb@novell.com
- Fix compilation with new pacemaker code.
-------------------------------------------------------------------
Tue Mar 31 15:08:36 CEST 2009 - abeekhof@suse.de
- Update for HAE11-RC9
- Bug bnc#490418 - Reduce the amount of logging while waiting for nodes to be shot
-------------------------------------------------------------------
Fri Mar 20 12:12:41 CET 2009 - abeekhof@suse.de
- Split the SUSE specific patch from the parts that have
been submitted upstream
- Correctly log the result of calls to crm_terminate_member_no_mainloop()
-------------------------------------------------------------------
Thu Mar 19 13:38:25 CET 2009 - abeekhof@suse.de
- Fix race condition when creating configfs entries for
cluster peers
-------------------------------------------------------------------
Fri Mar 13 09:45:54 CET 2009 - abeekhof@suse.de
- All previous patches are now upstream
- Update to upstream: cfd58b24b8bb17087e19a73139cf966135e78bec
- dlm_controld (pcmk) - Use a Pacemaker library function for kicking nodes from the cluster
- dlm_tool: fix lockdebug parsing of first_lkid
- dlm_controld: default to no plock rate limit
- dlm_controld: don't exit from query thread
- dlm_controld: finalize ckpt handle
- dlm_controld: cpg_finalize
- dlm_controld: use quorum instead of votequorum
-------------------------------------------------------------------
Tue Feb 17 18:11:03 CET 2009 - abeekhof@suse.de
- BNC#476449 - Correctly return the current fencing status
-------------------------------------------------------------------
Fri Feb 6 19:14:34 CET 2009 - abeekhof@suse.de
- Switch to stand-alone libdlm code-base
- Update to upstream: af52b7bb26a05a8f73d1076254e178b02ed192cd
- Update to patch-level: a85c21afc4c99dc2aee8f7e7e356f25133c4d4ad
- Implement fencing hooks for Pacemaker based clusters
- Leverage more funcaitonality from Pacemaker libraries
- Add pkgconfig entries
- dlm_controld/gfs_controld: read lockless resources from ckpts
- dlm_controld/gfs_controld: dump unused resources
- dlm_controld/gfs_controld: fix plock rate limiting
- dlm_controld/gfs_controld: plock config paths
- dlm_controld/gfs_controld: plock dump display resource owner
- dlm_controld: recv error checking
- dlm_controld: clear plock syncing flags
-------------------------------------------------------------------
Tue Nov 11 11:22:14 CET 2008 - abeekhof@suse.de
- Update to upstream bd261c8e51f3b5406f22bbb00b76f6da8722412d
- fix plock dump
- fix fencing checks which weren't happening
- fix confchg/message processing, must be done after each individual confchg/message
- init logging after fork to avoid ugly interaction with logging threads
- fix usage of the query thread mutex
- fix usage of realloc in deadlock code
- join should return error without fence domain
-------------------------------------------------------------------
Thu Oct 9 10:23:42 CEST 2008 - abeekhof@suse.de
- Update to upstream b6d73f5752306d635f306036438af1fcf26f4332
- Adds protocol negotiation which important for future compatability
- Miscelaneous bug fixes
-------------------------------------------------------------------
Mon Sep 15 16:22:42 CEST 2008 - abeekhof@suse.de
- Reference newly created shared library packages as build dependancies
-------------------------------------------------------------------
Mon Sep 8 10:04:08 CEST 2008 - abeekhof@suse.de
- Move documentation to acceptable location
-------------------------------------------------------------------
Tue Sep 2 09:19:25 CEST 2008 - abeekhof@suse.de
- Extra %dir entries n the %files section to make autobuild happy
-------------------------------------------------------------------
Mon Aug 25 10:12:28 CEST 2008 - abeekhof@suse.de
- version 2.99.08-2
- make sure local_nodeid is set correctly for dlm_controld
--------------------------------------------------------------------
Tue Aug 19 19:14:17 CEST 2008 - abeekhof@suse.de
- version 2.99.08-1
- Initial package check-in

152
libdlm.spec Normal file
View File

@ -0,0 +1,152 @@
#
# spec file for package libdlm
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
#Compat macro for new _fillupdir macro introduced in Nov 2017
%if ! %{defined _fillupdir}
%define _fillupdir /var/adm/fillup-templates
%endif
%if 0%{?suse_version}
%define _libexecdir %{_libdir}
%endif
%if 0%{?fedora_version} || 0%{?centos_version} || 0%{?rhel_version}
%define pkg_group System Environment/Daemons
%else
%define pkg_group Productivity/Clustering/HA
%endif
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
Release: 0
URL: https://pagure.io/dlm/
Source: https://releases.pagure.org/dlm/dlm-%{version}.tar.gz
# 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
###################
BuildRequires: fdupes
BuildRequires: glib2-devel
BuildRequires: libcorosync-devel
BuildRequires: libtool
BuildRequires: libxml2-devel
BuildRequires: pkgconfig(pacemaker)
BuildRequires: pkgconfig(systemd)
BuildRequires: pkgconfig(udev)
Recommends: dlm-kmp
%description
Libraries and tools that allow applications, particularly filesystems
like OCFS2, to interface with the in-kernel distributed lock manager.
%package -n libdlm3
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
%description -n libdlm3
Libraries and tools that allow applications, particularly filesystems
like OCFS2, to interface with the in-kernel distributed lock manager.
%package devel
Summary: Development files for the kernel's distributed lock manager
License: LGPL-2.1-or-later
Group: Development/Libraries/C and C++
Requires: libdlm3 = %{version}
%description devel
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}
%build
echo "V_%version { global: *; };" >dlm.ver
export CFLAGS="%optflags"
export LDFLAGS="-Wl,--version-script=$PWD/dlm.ver"
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
%fdupes %{buildroot}/%{_prefix}
###########################################################
%post
%fillup_only -n dlm
%{?udev_rules_update}
%service_add_post dlm.service
%preun
%service_del_preun dlm.service
%pre
%service_add_pre dlm.service
%postun
%service_del_postun dlm.service
%post -n libdlm3 -p /sbin/ldconfig
%postun -n libdlm3 -p /sbin/ldconfig
%files
%dir %{_datadir}/doc/packages/libdlm-%{version}
%{_udevrulesdir}/51-dlm.rules
%{_sbindir}/dlm_controld
%{_sbindir}/dlm_stonith
%{_sbindir}/dlm_tool
%{_datadir}/man/man8/*.gz
%{_datadir}/man/man3/*.gz
%{_datadir}/man/man5/*.gz
%{_datadir}/doc/packages/libdlm-%{version}
%{_unitdir}/dlm.service
%{_fillupdir}/sysconfig.dlm
%files -n libdlm3
%{_libdir}/libdlm.so.*
%{_libdir}/libdlm_lt.so.*
%{_libdir}/libdlmcontrol.so.*
%files devel
%{_libdir}/libdlm*.so
%{_libdir}/pkgconfig/libdlm.pc
%{_libdir}/pkgconfig/libdlm_lt.pc
%{_libdir}/pkgconfig/libdlmcontrol.pc
%{_includedir}/libdlm.h
%{_includedir}/libdlmcontrol.h
%changelog