]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
Specify nodes number when updating cluster nodes
authorXiao Ni <xni@redhat.com>
Mon, 27 Jul 2020 01:14:20 +0000 (09:14 +0800)
committerJes Sorensen <jsorensen@fb.com>
Fri, 7 Aug 2020 13:46:03 +0000 (09:46 -0400)
Now it allows updating cluster nodes without specify --nodes. It can write superblock
with zero nodes. It can break the current cluster. Add this check to avoid this problem.

v2: It needs check c.update first to avoid NULL pointer reference
v3: Wol points the typo error

Signed-off-by: Xiao Ni <xni@redhat.com>
Signed-off-by: Jes Sorensen <jsorensen@fb.com>
mdadm.c

diff --git a/mdadm.c b/mdadm.c
index 13dc24e4426923c1ba450fc68e47cfdf33498c5c..1b3467fd47792d8f98da0c822c1e611ce1065b93 100644 (file)
--- a/mdadm.c
+++ b/mdadm.c
@@ -1433,6 +1433,11 @@ int main(int argc, char *argv[])
                }
        }
 
+       if (c.update && strcmp(c.update, "nodes") == 0 && c.nodes == 0) {
+               pr_err("Please specify nodes number with --nodes\n");
+               exit(1);
+       }
+
        if (c.backup_file && data_offset != INVALID_SECTORS) {
                pr_err("--backup-file and --data-offset are incompatible\n");
                exit(2);