summaryrefslogtreecommitdiff
path: root/super1.c
diff options
context:
space:
mode:
authorGuoqing Jiang <gqjiang@suse.com>2016-05-04 16:33:44 +0800
committerJes Sorensen <Jes.Sorensen@redhat.com>2016-05-09 14:59:05 -0400
commit261b57fe219f7ebd37cf903c3696e9ea558536eb (patch)
tree2aca8fb58393ad61796158f3b78579ad8937266f /super1.c
parent82d9485e06b2e2cca70ae340d48749d93df6bad0 (diff)
downloadmdadm-261b57fe219f7ebd37cf903c3696e9ea558536eb.tar.gz
super1: don't update node nums if it is not more than 1
We at least need two nodes for cluster raid so make the check before update node nums. Reported-by: Zhilong Liu <zlliu@suse.com> Signed-off-by: Guoqing Jiang <gqjiang@suse.com> Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Diffstat (limited to 'super1.c')
-rw-r--r--super1.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/super1.c b/super1.c
index 8d5543f..972b470 100644
--- a/super1.c
+++ b/super1.c
@@ -2394,6 +2394,11 @@ static int write_bitmap1(struct supertype *st, int fd, enum bitmap_update update
return -EINVAL;
}
+ if (bms->version == BITMAP_MAJOR_CLUSTERED && st->nodes <= 1) {
+ pr_err("Warning: cluster-md at least needs two nodes\n");
+ return -EINVAL;
+ }
+
/* Each node has an independent bitmap, it is necessary to calculate the
* space is enough or not, first get how many bytes for the total bitmap */
bm_space_per_node = calc_bitmap_size(bms, 4096);