|
23 | 23 |
|
24 | 24 | #define MAX_RECOVERY 1 /* Maximum number of regions recovered in parallel. */
|
25 | 25 |
|
| 26 | +#define MAX_NR_MIRRORS (DM_KCOPYD_MAX_REGIONS + 1) |
| 27 | + |
26 | 28 | #define DM_RAID1_HANDLE_ERRORS 0x01
|
27 | 29 | #define DM_RAID1_KEEP_LOG 0x02
|
28 | 30 | #define errors_handled(p) ((p)->features & DM_RAID1_HANDLE_ERRORS)
|
@@ -255,7 +257,7 @@ static int mirror_flush(struct dm_target *ti)
|
255 | 257 | unsigned long error_bits;
|
256 | 258 |
|
257 | 259 | unsigned int i;
|
258 |
| - struct dm_io_region io[ms->nr_mirrors]; |
| 260 | + struct dm_io_region io[MAX_NR_MIRRORS]; |
259 | 261 | struct mirror *m;
|
260 | 262 | struct dm_io_request io_req = {
|
261 | 263 | .bi_op = REQ_OP_WRITE,
|
@@ -651,7 +653,7 @@ static void write_callback(unsigned long error, void *context)
|
651 | 653 | static void do_write(struct mirror_set *ms, struct bio *bio)
|
652 | 654 | {
|
653 | 655 | unsigned int i;
|
654 |
| - struct dm_io_region io[ms->nr_mirrors], *dest = io; |
| 656 | + struct dm_io_region io[MAX_NR_MIRRORS], *dest = io; |
655 | 657 | struct mirror *m;
|
656 | 658 | struct dm_io_request io_req = {
|
657 | 659 | .bi_op = REQ_OP_WRITE,
|
@@ -1083,7 +1085,7 @@ static int mirror_ctr(struct dm_target *ti, unsigned int argc, char **argv)
|
1083 | 1085 | argc -= args_used;
|
1084 | 1086 |
|
1085 | 1087 | if (!argc || sscanf(argv[0], "%u%c", &nr_mirrors, &dummy) != 1 ||
|
1086 |
| - nr_mirrors < 2 || nr_mirrors > DM_KCOPYD_MAX_REGIONS + 1) { |
| 1088 | + nr_mirrors < 2 || nr_mirrors > MAX_NR_MIRRORS) { |
1087 | 1089 | ti->error = "Invalid number of mirrors";
|
1088 | 1090 | dm_dirty_log_destroy(dl);
|
1089 | 1091 | return -EINVAL;
|
@@ -1404,7 +1406,7 @@ static void mirror_status(struct dm_target *ti, status_type_t type,
|
1404 | 1406 | int num_feature_args = 0;
|
1405 | 1407 | struct mirror_set *ms = (struct mirror_set *) ti->private;
|
1406 | 1408 | struct dm_dirty_log *log = dm_rh_dirty_log(ms->rh);
|
1407 |
| - char buffer[ms->nr_mirrors + 1]; |
| 1409 | + char buffer[MAX_NR_MIRRORS + 1]; |
1408 | 1410 |
|
1409 | 1411 | switch (type) {
|
1410 | 1412 | case STATUSTYPE_INFO:
|
|
0 commit comments