Lines Matching refs:disk
288 static inline void update_head_pos(int disk, struct r1bio *r1_bio) in update_head_pos() argument
292 conf->mirrors[disk].head_position = in update_head_pos()
518 int disk; in read_balance() local
550 for (disk = 0 ; disk < conf->raid_disks * 2 ; disk++) { in read_balance()
557 rdev = rcu_dereference(conf->mirrors[disk].rdev); in read_balance()
558 if (r1_bio->bios[disk] == IO_BLOCKED in read_balance()
578 best_dist_disk = disk; in read_balance()
579 best_pending_disk = disk; in read_balance()
606 best_disk = disk; in read_balance()
618 dist = abs(this_sector - conf->mirrors[disk].head_position); in read_balance()
620 best_disk = disk; in read_balance()
624 if (conf->mirrors[disk].next_seq_sect == this_sector in read_balance()
627 struct raid1_info *mirror = &conf->mirrors[disk]; in read_balance()
629 best_disk = disk; in read_balance()
655 best_disk = disk; in read_balance()
664 best_pending_disk = disk; in read_balance()
669 best_dist_disk = disk; in read_balance()
720 int disk; in raid1_mergeable_bvec() local
722 for (disk = 0; disk < conf->raid_disks * 2; disk++) { in raid1_mergeable_bvec()
724 conf->mirrors[disk].rdev); in raid1_mergeable_bvec()
2319 int disk; in handle_read_error() local
2347 disk = read_balance(conf, r1_bio, &max_sectors); in handle_read_error()
2348 if (disk == -1) { in handle_read_error()
2361 r1_bio->read_disk = disk; in handle_read_error()
2366 rdev = conf->mirrors[disk].rdev; in handle_read_error()
2491 int disk = -1; in sync_request() local
2594 if (disk < 0) in sync_request()
2595 disk = i; in sync_request()
2622 if (disk < 0) in sync_request()
2623 disk = wonly; in sync_request()
2624 r1_bio->read_disk = disk; in sync_request()
2726 } while (r1_bio->bios[disk]->bi_vcnt < RESYNC_PAGES); in sync_request()
2765 struct raid1_info *disk; in setup_conf() local
2804 disk = conf->mirrors + mddev->raid_disks + disk_idx; in setup_conf()
2806 disk = conf->mirrors + disk_idx; in setup_conf()
2808 if (disk->rdev) in setup_conf()
2810 disk->rdev = rdev; in setup_conf()
2815 disk->head_position = 0; in setup_conf()
2816 disk->seq_start = MaxSector; in setup_conf()
2835 disk = conf->mirrors + i; in setup_conf()
2838 disk[conf->raid_disks].rdev) { in setup_conf()
2840 if (!disk->rdev) { in setup_conf()
2844 disk->rdev = in setup_conf()
2845 disk[conf->raid_disks].rdev; in setup_conf()
2846 disk[conf->raid_disks].rdev = NULL; in setup_conf()
2847 } else if (!test_bit(In_sync, &disk->rdev->flags)) in setup_conf()
2852 if (!disk->rdev || in setup_conf()
2853 !test_bit(In_sync, &disk->rdev->flags)) { in setup_conf()
2854 disk->head_position = 0; in setup_conf()
2855 if (disk->rdev && in setup_conf()
2856 (disk->rdev->saved_raid_disk < 0)) in setup_conf()