]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
ctdb-recoverd: Introduce some local variables to improve readability
authorMartin Schwenke <martin@meltin.net>
Fri, 14 Jun 2019 21:19:26 +0000 (07:19 +1000)
committerKarolin Seeger <kseeger@samba.org>
Tue, 25 Aug 2020 13:57:27 +0000 (13:57 +0000)
Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
(cherry picked from commit f681c0e947741151f8fb95d88edddfd732166dc1)

ctdb/server/ctdb_recoverd.c

index 6bbd8c549d5108d80cfac2a5afb4e8f0d52cb5b0..027c57717d49a2b6c2a7fa9ce47829e9d0ac8495 100644 (file)
@@ -510,9 +510,11 @@ static int update_local_flags(struct ctdb_recoverd *rec, struct ctdb_node_map_ol
         */
        for (j=0; j<nodemap->num; j++) {
                struct ctdb_node_map_old *remote_nodemap=NULL;
+               uint32_t local_flags = nodemap->nodes[j].flags;
+               uint32_t remote_flags;
                int ret;
 
-               if (nodemap->nodes[j].flags & NODE_FLAGS_DISCONNECTED) {
+               if (local_flags & NODE_FLAGS_DISCONNECTED) {
                        continue;
                }
                if (nodemap->nodes[j].pnn == ctdb->pnn) {
@@ -528,26 +530,35 @@ static int update_local_flags(struct ctdb_recoverd *rec, struct ctdb_node_map_ol
                        talloc_free(mem_ctx);
                        return -1;
                }
-               if (nodemap->nodes[j].flags != remote_nodemap->nodes[j].flags) {
+               remote_flags = remote_nodemap->nodes[j].flags;
+
+               if (local_flags != remote_flags) {
                        /* We should tell our daemon about this so it
                           updates its flags or else we will log the same 
                           message again in the next iteration of recovery.
                           Since we are the recovery master we can just as
                           well update the flags on all nodes.
                        */
-                       ret = ctdb_ctrl_modflags(ctdb, CONTROL_TIMEOUT(), nodemap->nodes[j].pnn, remote_nodemap->nodes[j].flags, ~remote_nodemap->nodes[j].flags);
+                       ret = ctdb_ctrl_modflags(ctdb,
+                                                CONTROL_TIMEOUT(),
+                                                nodemap->nodes[j].pnn,
+                                                remote_flags,
+                                                ~remote_flags);
                        if (ret != 0) {
                                DEBUG(DEBUG_ERR, (__location__ " Unable to update nodeflags on remote nodes\n"));
                                return -1;
                        }
 
-                       /* Update our local copy of the flags in the recovery
-                          daemon.
-                       */
-                       DEBUG(DEBUG_NOTICE,("Remote node %u had flags 0x%x, local had 0x%x - updating local\n",
-                                nodemap->nodes[j].pnn, remote_nodemap->nodes[j].flags,
-                                nodemap->nodes[j].flags));
-                       nodemap->nodes[j].flags = remote_nodemap->nodes[j].flags;
+                       /*
+                        * Update the local copy of the flags in the
+                        * recovery daemon.
+                        */
+                       D_NOTICE("Remote node %u had flags 0x%x, "
+                                "local had 0x%x - updating local\n",
+                                nodemap->nodes[j].pnn,
+                                remote_flags,
+                                local_flags);
+                       nodemap->nodes[j].flags = remote_flags;
                }
                talloc_free(remote_nodemap);
        }