[sheepdog] [PATCH] sheep: fix node comparism in log_last_epoch

Christoph Hellwig hch at infradead.org
Thu May 17 17:13:56 CEST 2012


We only logged the joining node instead of all previous nodes due to a
rebase error over the node_eq changes, causing major confusion during
recovery.

Signed-off-by: Christoph Hellwig <hch at lst.de>

diff --git a/sheep/group.c b/sheep/group.c
index 8903034..a4a9dbe 100644
--- a/sheep/group.c
+++ b/sheep/group.c
@@ -588,7 +588,7 @@ static void log_last_epoch(struct join_message *msg, struct sd_node *joined,
 
 		/* exclude the newly added one */
 		for (i = 0; i < nr_nodes; i++) {
-			if (node_eq(nodes + i, joined))
+			if (!node_eq(nodes + i, joined))
 				old_nodes[count++] = nodes[i];
 		}
 		qsort(old_nodes, count, sizeof(struct sd_node), node_cmp);



More information about the sheepdog mailing list