Lines Matching refs:disk
291 static inline void update_head_pos(int disk, struct r1bio *r1_bio) in update_head_pos() argument
295 conf->mirrors[disk].head_position = in update_head_pos()
520 int disk; in read_balance() local
552 for (disk = 0 ; disk < conf->raid_disks * 2 ; disk++) { in read_balance()
559 rdev = rcu_dereference(conf->mirrors[disk].rdev); in read_balance()
560 if (r1_bio->bios[disk] == IO_BLOCKED in read_balance()
579 best_dist_disk = disk; in read_balance()
580 best_pending_disk = disk; in read_balance()
607 best_disk = disk; in read_balance()
619 dist = abs(this_sector - conf->mirrors[disk].head_position); in read_balance()
621 best_disk = disk; in read_balance()
625 if (conf->mirrors[disk].next_seq_sect == this_sector in read_balance()
628 struct raid1_info *mirror = &conf->mirrors[disk]; in read_balance()
630 best_disk = disk; in read_balance()
656 best_disk = disk; in read_balance()
665 best_pending_disk = disk; in read_balance()
670 best_dist_disk = disk; in read_balance()
2289 int disk; in handle_read_error() local
2317 disk = read_balance(conf, r1_bio, &max_sectors); in handle_read_error()
2318 if (disk == -1) { in handle_read_error()
2331 r1_bio->read_disk = disk; in handle_read_error()
2336 rdev = conf->mirrors[disk].rdev; in handle_read_error()
2484 int disk = -1; in sync_request() local
2597 if (disk < 0) in sync_request()
2598 disk = i; in sync_request()
2625 if (disk < 0) in sync_request()
2626 disk = wonly; in sync_request()
2627 r1_bio->read_disk = disk; in sync_request()
2729 } while (r1_bio->bios[disk]->bi_vcnt < RESYNC_PAGES); in sync_request()
2778 struct raid1_info *disk; in setup_conf() local
2817 disk = conf->mirrors + mddev->raid_disks + disk_idx; in setup_conf()
2819 disk = conf->mirrors + disk_idx; in setup_conf()
2821 if (disk->rdev) in setup_conf()
2823 disk->rdev = rdev; in setup_conf()
2826 disk->head_position = 0; in setup_conf()
2827 disk->seq_start = MaxSector; in setup_conf()
2847 disk = conf->mirrors + i; in setup_conf()
2850 disk[conf->raid_disks].rdev) { in setup_conf()
2852 if (!disk->rdev) { in setup_conf()
2856 disk->rdev = in setup_conf()
2857 disk[conf->raid_disks].rdev; in setup_conf()
2858 disk[conf->raid_disks].rdev = NULL; in setup_conf()
2859 } else if (!test_bit(In_sync, &disk->rdev->flags)) in setup_conf()
2864 if (!disk->rdev || in setup_conf()
2865 !test_bit(In_sync, &disk->rdev->flags)) { in setup_conf()
2866 disk->head_position = 0; in setup_conf()
2867 if (disk->rdev && in setup_conf()
2868 (disk->rdev->saved_raid_disk < 0)) in setup_conf()