Lines Matching refs:mirrors
345 conf->mirrors[r10_bio->devs[slot].devnum].head_position =
469 rdev = conf->mirrors[dev].replacement;
473 rdev = conf->mirrors[dev].rdev;
719 * If there are 2 mirrors in the same 2 devices, performance degrades
778 rdev = rcu_dereference(conf->mirrors[disk].replacement);
788 rdev = rcu_dereference(conf->mirrors[disk].rdev);
856 conf->mirrors[disk].head_position);
1203 err_rdev = rcu_dereference(conf->mirrors[disk].rdev);
1283 rdev = conf->mirrors[devnum].replacement;
1287 rdev = conf->mirrors[devnum].rdev;
1290 rdev = conf->mirrors[devnum].rdev;
1303 &conf->mirrors[devnum].rdev->flags)
1355 rdev = dereference_rdev_and_rrdev(&conf->mirrors[i], &rrdev);
1484 rdev = dereference_rdev_and_rrdev(&conf->mirrors[d], &rrdev);
1629 rdev = conf->mirrors[dev].replacement;
1637 rdev = conf->mirrors[dev].rdev;
1792 rdev = dereference_rdev_and_rrdev(&conf->mirrors[disk], &rrdev);
1852 struct md_rdev *rdev = conf->mirrors[disk].rdev;
1866 struct md_rdev *rrdev = conf->mirrors[disk].replacement;
1958 struct md_rdev *rdev = rcu_dereference(conf->mirrors[i].rdev);
1991 (rdev = rcu_dereference(conf->mirrors[this].rdev)) &&
2078 rdev = conf->mirrors[i].rdev;
2108 tmp = conf->mirrors + i;
2168 conf->mirrors[rdev->saved_raid_disk].rdev == NULL)
2173 p = &conf->mirrors[mirror];
2198 p = &conf->mirrors[repl_slot];
2225 p = conf->mirrors + number;
2289 &conf->mirrors[d].rdev->corrected_errors);
2294 rdev_dec_pending(conf->mirrors[d].rdev, conf->mddev);
2362 rdev = conf->mirrors[d].replacement;
2364 rdev = conf->mirrors[d].rdev;
2443 rdev = conf->mirrors[d].rdev;
2477 bio_reset(tbio, conf->mirrors[d].rdev->bdev, REQ_OP_WRITE);
2488 atomic_inc(&conf->mirrors[d].rdev->nr_pending);
2490 md_sync_acct(conf->mirrors[d].rdev->bdev, bio_sectors(tbio));
2492 if (test_bit(FailFast, &conf->mirrors[d].rdev->flags))
2494 tbio->bi_iter.bi_sector += conf->mirrors[d].rdev->data_offset;
2512 md_sync_acct(conf->mirrors[d].replacement->bdev,
2562 rdev = conf->mirrors[dr].rdev;
2570 rdev = conf->mirrors[dw].rdev;
2592 if (rdev != conf->mirrors[dw].rdev) {
2594 struct md_rdev *rdev2 = conf->mirrors[dw].rdev;
2602 conf->mirrors[dw].recovery_disabled
2646 atomic_inc(&conf->mirrors[d].rdev->nr_pending);
2647 md_sync_acct(conf->mirrors[d].rdev->bdev, bio_sectors(wbio));
2651 atomic_inc(&conf->mirrors[d].replacement->nr_pending);
2652 md_sync_acct(conf->mirrors[d].replacement->bdev,
2721 * 1. Retries failed read operations on working mirrors.
2737 rdev = conf->mirrors[d].rdev;
2772 rdev = rcu_dereference(conf->mirrors[d].rdev);
2803 rdev = conf->mirrors[dn].rdev;
2825 rdev = rcu_dereference(conf->mirrors[d].rdev);
2859 rdev = rcu_dereference(conf->mirrors[d].rdev);
2908 struct md_rdev *rdev = conf->mirrors[r10_bio->devs[i].devnum].rdev;
3017 rdev = conf->mirrors[dev].rdev;
3033 rdev = conf->mirrors[dev].replacement;
3057 rdev = conf->mirrors[dev].rdev;
3074 rdev = conf->mirrors[dev].replacement;
3185 if (conf->mirrors[i].replacement)
3373 rcu_dereference(conf->mirrors[i].replacement);
3396 * recovery fails, set mirrors.recovery_disabled,
3399 conf->mirrors[error_disk].recovery_disabled =
3455 struct raid10_info *mirror = &conf->mirrors[i];
3528 conf->mirrors[j].rdev);
3544 rcu_dereference(conf->mirrors[d].rdev);
3681 if (conf->mirrors[d].rdev &&
3683 &conf->mirrors[d].rdev->flags))
3751 rdev = rcu_dereference(conf->mirrors[d].rdev);
3781 rdev = rcu_dereference(conf->mirrors[d].replacement);
3809 rdev_dec_pending(conf->mirrors[d].rdev,
3814 conf->mirrors[d].replacement,
4042 kfree(conf->mirrors);
4077 conf->mirrors = kcalloc(mddev->raid_disks + max(0, -mddev->delta_disks),
4080 if (!conf->mirrors)
4200 disk = conf->mirrors + disk_idx;
4229 pr_err("md/raid10:%s: not enough operational mirrors.\n",
4250 disk = conf->mirrors + i;
4486 /* allocate new 'mirrors' list */
4519 struct md_rdev *rdev = rcu_dereference(conf->mirrors[i].rdev);
4535 struct md_rdev *rdev = rcu_dereference(conf->mirrors[i].rdev);
4612 memcpy(conf->mirrors_new, conf->mirrors,
4616 conf->mirrors_old = conf->mirrors;
4617 conf->mirrors = conf->mirrors_new;
4986 rdev2 = rcu_dereference(conf->mirrors[d].replacement);
4989 rdev2 = rcu_dereference(conf->mirrors[d].rdev);
5078 rdev = rcu_dereference(conf->mirrors[d].replacement);
5081 rdev = rcu_dereference(conf->mirrors[d].rdev);
5163 struct md_rdev *rdev = rcu_dereference(conf->mirrors[d].rdev);
5216 rdev = conf->mirrors[d].replacement;
5219 rdev = conf->mirrors[d].rdev;
5259 struct md_rdev *rdev = rcu_dereference(conf->mirrors[d].rdev);
5262 rdev = rcu_dereference(conf->mirrors[d].replacement);