Use separate bitmaps for each nodes in the cluster
[firefly-linux-kernel-4.4.55.git] / drivers / md / md-cluster.c
index 1f3c8f39ecb2a2b4dcd12b936983b47bbc10e0de..66700e244a406e751f8f538cdf20e209f9150f53 100644 (file)
@@ -196,6 +196,12 @@ static int join(struct mddev *mddev, int nodes)
        if (ret)
                goto err;
        wait_for_completion(&cinfo->completion);
+       if (nodes <= cinfo->slot_number) {
+               pr_err("md-cluster: Slot allotted(%d) greater than available slots(%d)", cinfo->slot_number - 1,
+                       nodes);
+               ret = -ERANGE;
+               goto err;
+       }
        cinfo->sb_lock = lockres_init(mddev, "cmd-super",
                                        NULL, 0);
        if (!cinfo->sb_lock) {