62 lines
2.2 KiB
Diff
62 lines
2.2 KiB
Diff
From a6acd38756fc7f93afcf5c08b8cdf139a3e354e7 Mon Sep 17 00:00:00 2001
|
|
From: Klaus Wenninger <klaus.wenninger@aon.at>
|
|
Date: Wed, 2 May 2018 13:30:42 +0200
|
|
Subject: [PATCH] Fix: sbd-cluster: search for pacemaker-remoted with
|
|
pcmk-2.0.0rc3
|
|
|
|
---
|
|
src/sbd-cluster.c | 16 ++++++++++------
|
|
1 file changed, 10 insertions(+), 6 deletions(-)
|
|
|
|
diff --git a/src/sbd-cluster.c b/src/sbd-cluster.c
|
|
index ae4750e..8512f23 100644
|
|
--- a/src/sbd-cluster.c
|
|
+++ b/src/sbd-cluster.c
|
|
@@ -42,6 +42,13 @@
|
|
//undef SUPPORT_PLUGIN
|
|
//define SUPPORT_PLUGIN 1
|
|
|
|
+/* binary for pacemaker-remote has changed with pacemaker 2 */
|
|
+#ifdef CRM_SCORE_INFINITY
|
|
+#define PACEMAKER_REMOTE_BINARY "pacemaker-remoted"
|
|
+#else
|
|
+#define PACEMAKER_REMOTE_BINARY "pacemaker_remoted"
|
|
+#endif
|
|
+
|
|
static bool remote_node = false;
|
|
static pid_t remoted_pid = 0;
|
|
static int reconnect_msec = 1000;
|
|
@@ -435,7 +442,7 @@ sbd_remote_check(gpointer user_data)
|
|
|
|
} else {
|
|
int rc = 0;
|
|
- char proc_path[PATH_MAX], exe_path[PATH_MAX], expected_path[PATH_MAX];
|
|
+ char proc_path[PATH_MAX], exe_path[PATH_MAX];
|
|
|
|
/* check to make sure pid hasn't been reused by another process */
|
|
snprintf(proc_path, sizeof(proc_path), "/proc/%lu/exe", (long unsigned int)remoted_pid);
|
|
@@ -447,10 +454,7 @@ sbd_remote_check(gpointer user_data)
|
|
}
|
|
exe_path[rc] = 0;
|
|
|
|
- rc = snprintf(expected_path, sizeof(proc_path), "%s/pacemaker_remoted", SBINDIR);
|
|
- expected_path[rc] = 0;
|
|
-
|
|
- if (strcmp(exe_path, expected_path) == 0) {
|
|
+ if (strcmp(exe_path, SBINDIR "/" PACEMAKER_REMOTE_BINARY) == 0) {
|
|
cl_log(LOG_DEBUG, "Process %s (%ld) is active",
|
|
exe_path, (long)remoted_pid);
|
|
running = 1;
|
|
@@ -499,7 +503,7 @@ find_pacemaker_remote(void)
|
|
|
|
/* entry_name is truncated to 16 characters including the nul terminator */
|
|
cl_log(LOG_DEBUG, "Found %s at %u", entry_name, pid);
|
|
- if (strcmp(entry_name, "pacemaker_remot") == 0) {
|
|
+ if (strncmp(entry_name, PACEMAKER_REMOTE_BINARY, 15) == 0) {
|
|
cl_log(LOG_NOTICE, "Found Pacemaker Remote at PID %u", pid);
|
|
remoted_pid = pid;
|
|
remote_node = true;
|
|
--
|
|
1.8.3.1
|
|
|