Blame SOURCES/0087-Specify-nodes-number-when-updating-cluster-nodes.patch

e95a18
From 138a9e9bbe2622eafc90c976b82f3d84895dbebd Mon Sep 17 00:00:00 2001
e95a18
From: Xiao Ni <xni@redhat.com>
e95a18
Date: Mon, 27 Jul 2020 09:14:20 +0800
e95a18
Subject: [PATCH 087/108] Specify nodes number when updating cluster nodes
e95a18
e95a18
Now it allows updating cluster nodes without specify --nodes. It can write superblock
e95a18
with zero nodes. It can break the current cluster. Add this check to avoid this problem.
e95a18
e95a18
v2: It needs check c.update first to avoid NULL pointer reference
e95a18
v3: Wol points the typo error
e95a18
e95a18
Signed-off-by: Xiao Ni <xni@redhat.com>
e95a18
Signed-off-by: Jes Sorensen <jsorensen@fb.com>
e95a18
---
e95a18
 mdadm.c | 5 +++++
e95a18
 1 file changed, 5 insertions(+)
e95a18
e95a18
diff --git a/mdadm.c b/mdadm.c
e95a18
index 13dc24e..1b3467f 100644
e95a18
--- a/mdadm.c
e95a18
+++ b/mdadm.c
e95a18
@@ -1433,6 +1433,11 @@ int main(int argc, char *argv[])
e95a18
 		}
e95a18
 	}
e95a18
 
e95a18
+	if (c.update && strcmp(c.update, "nodes") == 0 && c.nodes == 0) {
e95a18
+		pr_err("Please specify nodes number with --nodes\n");
e95a18
+		exit(1);
e95a18
+	}
e95a18
+
e95a18
 	if (c.backup_file && data_offset != INVALID_SECTORS) {
e95a18
 		pr_err("--backup-file and --data-offset are incompatible\n");
e95a18
 		exit(2);
e95a18
-- 
e95a18
2.7.5
e95a18