Lines Matching refs:mirrors

266 			rdev_dec_pending(conf->mirrors[i].rdev, r1_bio->mddev);
336 conf->mirrors[disk].head_position =
364 struct md_rdev *rdev = conf->mirrors[r1_bio->read_disk].rdev;
449 struct md_rdev *rdev = conf->mirrors[mirror].rdev;
589 * If there are 2 mirrors in the same 2 devices, performance degrades
641 rdev = rcu_dereference(conf->mirrors[disk].rdev);
708 dist = abs(this_sector - conf->mirrors[disk].head_position);
714 if (conf->mirrors[disk].next_seq_sect == this_sector
717 struct raid1_info *mirror = &conf->mirrors[disk];
772 rdev = rcu_dereference(conf->mirrors[best_disk].rdev);
778 if (conf->mirrors[best_disk].next_seq_sect != this_sector)
779 conf->mirrors[best_disk].seq_start = this_sector;
781 conf->mirrors[best_disk].next_seq_sect = this_sector + sectors;
1225 rdev = rcu_dereference(conf->mirrors[r1_bio->read_disk].rdev);
1262 mirror = conf->mirrors + rdisk;
1378 struct md_rdev *rdev = rcu_dereference(conf->mirrors[i].rdev);
1443 rdev_dec_pending(conf->mirrors[j].rdev, mddev);
1469 struct md_rdev *rdev = conf->mirrors[i].rdev;
1507 conf->mirrors[i].rdev->data_offset);
1508 bio_set_dev(mbio, conf->mirrors[i].rdev->bdev);
1511 if (test_bit(FailFast, &conf->mirrors[i].rdev->flags) &&
1512 !test_bit(WriteMostly, &conf->mirrors[i].rdev->flags) &&
1524 mbio->bi_disk = (void *)conf->mirrors[i].rdev;
1586 struct md_rdev *rdev = rcu_dereference(conf->mirrors[i].rdev);
1651 struct md_rdev *rdev = rcu_dereference(conf->mirrors[i].rdev);
1689 struct md_rdev *rdev = conf->mirrors[i].rdev;
1690 struct md_rdev *repl = conf->mirrors[conf->raid_disks + i].rdev;
1750 conf->mirrors[rdev->saved_raid_disk].rdev == NULL)
1754 p = conf->mirrors + mirror;
1794 struct raid1_info *p = conf->mirrors + number;
1800 p = conf->mirrors + conf->raid_disks + number;
1828 if (conf->mirrors[conf->raid_disks + number].rdev) {
1834 conf->mirrors[conf->raid_disks + number].rdev;
1849 conf->mirrors[conf->raid_disks + number].rdev = NULL;
1918 struct md_rdev *rdev = conf->mirrors[find_bio_disk(r1_bio, bio)].rdev;
1929 !is_badblock(conf->mirrors[r1_bio->read_disk].rdev,
1980 rdev = conf->mirrors[r1_bio->read_disk].rdev;
2006 rdev = conf->mirrors[d].rdev;
2031 rdev = conf->mirrors[d].rdev;
2060 rdev = conf->mirrors[d].rdev;
2075 rdev = conf->mirrors[d].rdev;
2118 conf->mirrors[i].rdev->data_offset;
2119 bio_set_dev(b, conf->mirrors[i].rdev->bdev);
2131 rdev_dec_pending(conf->mirrors[primary].rdev, mddev);
2169 rdev_dec_pending(conf->mirrors[i].rdev, mddev);
2203 if (test_bit(Faulty, &conf->mirrors[i].rdev->flags)) {
2209 if (test_bit(FailFast, &conf->mirrors[i].rdev->flags))
2214 md_sync_acct(conf->mirrors[i].rdev->bdev, bio_sectors(wbio));
2225 * 1. Retries failed read operations on working mirrors.
2249 rdev = rcu_dereference(conf->mirrors[d].rdev);
2273 struct md_rdev *rdev = conf->mirrors[read_disk].rdev;
2285 rdev = rcu_dereference(conf->mirrors[d].rdev);
2303 rdev = rcu_dereference(conf->mirrors[d].rdev);
2330 struct md_rdev *rdev = conf->mirrors[i].rdev;
2401 struct md_rdev *rdev = conf->mirrors[m].rdev;
2426 struct md_rdev *rdev = conf->mirrors[m].rdev;
2439 conf->mirrors[m].rdev);
2443 rdev_dec_pending(conf->mirrors[m].rdev,
2485 rdev = conf->mirrors[r1_bio->read_disk].rdev;
2720 rdev = rcu_dereference(conf->mirrors[i].rdev);
2790 struct md_rdev *rdev = conf->mirrors[i].rdev;
2956 conf->mirrors = kzalloc(array3_size(sizeof(struct raid1_info),
2959 if (!conf->mirrors)
2989 disk = conf->mirrors + mddev->raid_disks + disk_idx;
2991 disk = conf->mirrors + disk_idx;
3014 disk = conf->mirrors + i;
3050 kfree(conf->mirrors);
3113 if (conf->mirrors[i].rdev == NULL ||
3114 !test_bit(In_sync, &conf->mirrors[i].rdev->flags) ||
3115 test_bit(Faulty, &conf->mirrors[i].rdev->flags))
3132 pr_info("md/raid1:%s: active with %d out of %d mirrors\n",
3172 kfree(conf->mirrors);
3216 * 2/ resize conf->mirrors
3220 * Then resize conf->mirrors and swap in the new r1bio pool.
3255 if (conf->mirrors[d].rdev)
3289 struct md_rdev *rdev = conf->mirrors[d].rdev;
3301 kfree(conf->mirrors);
3302 conf->mirrors = newmirrors;