From 522a04a0b1b3f622ccb239828fb974d80dc5e873 Mon Sep 17 00:00:00 2001
From: "Gao,Yan" <ygao@suse.com>
Date: Tue, 18 Mar 2025 18:25:02 +0100
Subject: [PATCH 2/8] Log: pacemaker-attrd: log the cluster layer id of the
 changed peer

So that the messages are informative when the peer's name is unknown
yet.
---
 daemons/attrd/attrd_corosync.c | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

Index: pacemaker-3.0.0+20250218.64cd85422c/daemons/attrd/attrd_corosync.c
===================================================================
--- pacemaker-3.0.0+20250218.64cd85422c.orig/daemons/attrd/attrd_corosync.c
+++ pacemaker-3.0.0+20250218.64cd85422c/daemons/attrd/attrd_corosync.c
@@ -13,6 +13,7 @@
 #include <stdbool.h>
 #include <stdint.h>
 #include <stdlib.h>
+#include <inttypes.h>   // PRIu32
 
 #include <crm/cluster.h>
 #include <crm/cluster/internal.h>
@@ -168,23 +169,26 @@ attrd_peer_change_cb(enum pcmk__node_upd
 
     switch (kind) {
         case pcmk__node_update_name:
-            crm_debug("%s node %s is now %s",
+            crm_debug("%s node %s[%" PRIu32 "] is now %s",
                       (is_remote? "Remote" : "Cluster"),
-                      peer->name, state_text(peer->state));
+                      pcmk__s(peer->name, "unknown"), peer->cluster_layer_id,
+                      state_text(peer->state));
             break;
 
         case pcmk__node_update_processes:
             if (!pcmk_is_set(peer->processes, crm_get_cluster_proc())) {
                 gone = true;
             }
-            crm_debug("Node %s is %s a peer",
-                      peer->name, (gone? "no longer" : "now"));
+            crm_debug("Node %s[%" PRIu32 "] is %s a peer",
+                      pcmk__s(peer->name, "unknown"), peer->cluster_layer_id,
+                      (gone? "no longer" : "now"));
             break;
 
         case pcmk__node_update_state:
-            crm_debug("%s node %s is now %s (was %s)",
+            crm_debug("%s node %s[%" PRIu32 "] is now %s (was %s)",
                       (is_remote? "Remote" : "Cluster"),
-                      peer->name, state_text(peer->state), state_text(data));
+                      pcmk__s(peer->name, "unknown"), peer->cluster_layer_id,
+                      state_text(peer->state), state_text(data));
             if (pcmk__str_eq(peer->state, PCMK_VALUE_MEMBER, pcmk__str_none)) {
                 /* If we're the writer, send new peers a list of all attributes
                  * (unless it's a remote node, which doesn't run its own attrd)
