Skip to content

Commit 9dc950e

Browse files
authored
Merge pull request #4016 from nrwahl2/nrwahl2-based_first
Clean up based_io.c
2 parents 1c28ef8 + 29a0801 commit 9dc950e

24 files changed

Lines changed: 812 additions & 642 deletions

daemons/based/Makefile.am

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,14 @@
1010
include $(top_srcdir)/mk/common.mk
1111
include $(top_srcdir)/mk/man.mk
1212

13-
EXTRA_DIST = cib.pam
14-
1513
halibdir = $(CRM_DAEMON_DIR)
1614

1715
halib_PROGRAMS = pacemaker-based
1816

19-
noinst_HEADERS = based_transaction.h
17+
noinst_HEADERS = based_io.h
18+
noinst_HEADERS += based_notify.h
19+
noinst_HEADERS += based_operation.h
20+
noinst_HEADERS += based_transaction.h
2021
noinst_HEADERS += pacemaker-based.h
2122

2223
pacemaker_based_CFLAGS = $(CFLAGS_HARDENED_EXE)

daemons/based/based_callbacks.c

Lines changed: 37 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2004-2025 the Pacemaker project contributors
2+
* Copyright 2004-2026 the Pacemaker project contributors
33
*
44
* The version control history for this file may have further details.
55
*
@@ -9,29 +9,39 @@
99

1010
#include <crm_internal.h>
1111

12-
#include <sys/param.h>
13-
#include <stdio.h>
14-
#include <sys/types.h>
15-
#include <unistd.h>
16-
12+
#include <errno.h> // EACCES, ECONNREFUSED
13+
#include <inttypes.h> // PRIu64
1714
#include <stdbool.h>
18-
#include <stdlib.h>
19-
#include <stdint.h> // uint32_t, uint64_t, UINT64_C()
20-
#include <errno.h>
21-
#include <fcntl.h>
22-
#include <inttypes.h> // PRIu64
23-
24-
#include <glib.h>
25-
#include <libxml/tree.h>
26-
#include <libxml/xpath.h> // xmlXPathObject, etc.
27-
28-
#include <crm/crm.h>
29-
#include <crm/cib.h>
30-
#include <crm/cluster/internal.h>
31-
32-
#include <crm/common/xml.h>
33-
34-
#include <pacemaker-based.h>
15+
#include <stddef.h> // NULL, size_t
16+
#include <stdint.h> // u?int*_t, UINT64_C
17+
#include <stdio.h> // snprintf
18+
#include <stdlib.h> // free
19+
#include <sys/types.h> // gid_t, uid_t
20+
#include <syslog.h> // LOG_INFO, LOG_DEBUG
21+
#include <time.h> // time_t
22+
#include <unistd.h> // close
23+
24+
#include <glib.h> // gboolean, gpointer, g_*, etc.
25+
#include <libxml/tree.h> // xmlNode
26+
#include <libxml/xpath.h> // xmlXPath*
27+
#include <qb/qbdefs.h> // QB_FALSE
28+
#include <qb/qbipcs.h> // qb_ipcs_connection_t
29+
#include <qb/qblog.h> // LOG_TRACE
30+
31+
#include <crm/cib.h> // cib_call_options values
32+
#include <crm/cib/internal.h> // cib__*
33+
#include <crm/cluster.h> // pcmk_cluster_disconnect
34+
#include <crm/cluster/internal.h> // pcmk__cluster_send_message
35+
#include <crm/common/cib.h> // pcmk_find_cib_element
36+
#include <crm/common/internal.h> // pcmk__s, pcmk__str_eq
37+
#include <crm/common/ipc.h> // crm_ipc_*, pcmk_ipc_*
38+
#include <crm/common/logging.h> // CRM_LOG_ASSERT, CRM_CHECK
39+
#include <crm/common/mainloop.h> // mainloop_*
40+
#include <crm/common/results.h> // pcmk_rc_*
41+
#include <crm/common/xml.h> // PCMK_XA_*, PCMK_XE_*
42+
#include <crm/crm.h> // CRM_OP_*
43+
44+
#include "pacemaker-based.h"
3545

3646
#define EXIT_ESCALATION_MS 10000
3747

@@ -1127,8 +1137,7 @@ cib_process_command(xmlNode *request, const cib__operation_t *operation,
11271137
pcmk__xe_get(result_cib, PCMK_XA_NUM_UPDATES),
11281138
(config_changed? " changed" : ""));
11291139

1130-
rc = activateCibXml(result_cib, config_changed, op);
1131-
rc = pcmk_legacy2rc(rc);
1140+
rc = based_activate_cib(result_cib, config_changed, op);
11321141
if (rc != pcmk_rc_ok) {
11331142
pcmk__err("Failed to activate new CIB: %s", pcmk_rc_str(rc));
11341143
}
@@ -1183,8 +1192,8 @@ cib_process_command(xmlNode *request, const cib__operation_t *operation,
11831192
cib_dryrun|cib_inhibit_notify|cib_transaction)) {
11841193
pcmk__trace("Sending notifications %d",
11851194
pcmk__is_set(call_options, cib_dryrun));
1186-
cib_diff_notify(op, pcmk_rc2legacy(rc), call_id, client_id, client_name,
1187-
originator, input, cib_diff);
1195+
based_diff_notify(op, pcmk_rc2legacy(rc), call_id, client_id,
1196+
client_name, originator, input, cib_diff);
11881197
}
11891198

11901199
pcmk__log_xml_patchset(LOG_TRACE, cib_diff);
@@ -1363,7 +1372,7 @@ terminate_cib(int exit_status)
13631372
remote_tls_fd = 0;
13641373
}
13651374

1366-
uninitializeCib();
1375+
g_clear_pointer(&the_cib, pcmk__xml_free);
13671376

13681377
// Exit immediately on error
13691378
if (exit_status > CRM_EX_OK) {

0 commit comments

Comments
 (0)