Lines Matching refs:devs

94 	int size = offsetof(struct r10bio, devs[conf->geo.raid_disks]);  in r10bio_pool_alloc()
151 r10_bio->devs[j].bio = bio; in r10buf_pool_alloc()
157 r10_bio->devs[j].repl_bio = bio; in r10buf_pool_alloc()
164 struct bio *rbio = r10_bio->devs[j].repl_bio; in r10buf_pool_alloc()
171 bio = r10_bio->devs[j].bio; in r10buf_pool_alloc()
199 if (r10_bio->devs[j].bio) in r10buf_pool_alloc()
200 bio_put(r10_bio->devs[j].bio); in r10buf_pool_alloc()
201 if (r10_bio->devs[j].repl_bio) in r10buf_pool_alloc()
202 bio_put(r10_bio->devs[j].repl_bio); in r10buf_pool_alloc()
218 struct bio *bio = r10bio->devs[j].bio; in r10buf_pool_free()
226 bio = r10bio->devs[j].repl_bio; in r10buf_pool_free()
242 struct bio **bio = & r10_bio->devs[i].bio; in put_all_bios()
246 bio = &r10_bio->devs[i].repl_bio; in put_all_bios()
319 conf->mirrors[r10_bio->devs[slot].devnum].head_position = in update_head_pos()
320 r10_bio->devs[slot].addr + (r10_bio->sectors); in update_head_pos()
333 if (r10_bio->devs[slot].bio == bio) in find_bio_disk()
335 if (r10_bio->devs[slot].repl_bio == bio) { in find_bio_disk()
347 return r10_bio->devs[slot].devnum; in find_bio_disk()
359 rdev = r10_bio->devs[slot].rdev; in raid10_end_read_request()
480 r10_bio->devs[slot].bio = NULL; in raid10_end_write_request()
512 r10_bio->devs[slot].addr, in raid10_end_write_request()
517 r10_bio->devs[slot].repl_bio = IO_MADE_GOOD; in raid10_end_write_request()
519 r10_bio->devs[slot].bio = IO_MADE_GOOD; in raid10_end_write_request()
595 r10bio->devs[slot].devnum = d; in __raid10_find_phys()
596 r10bio->devs[slot].addr = s; in __raid10_find_phys()
613 r10bio->devs[slot].devnum = d; in __raid10_find_phys()
614 r10bio->devs[slot].addr = s; in __raid10_find_phys()
750 if (r10_bio->devs[slot].bio == IO_BLOCKED) in read_balance()
752 disk = r10_bio->devs[slot].devnum; in read_balance()
755 r10_bio->devs[slot].addr + sectors > rdev->recovery_offset) in read_balance()
761 r10_bio->devs[slot].addr + sectors > rdev->recovery_offset) in read_balance()
764 dev_sector = r10_bio->devs[slot].addr; in read_balance()
820 new_distance = r10_bio->devs[slot].addr; in read_balance()
822 new_distance = abs(r10_bio->devs[slot].addr - in read_balance()
1132 if (slot >= 0 && r10_bio->devs[slot].rdev) { in raid10_read_request()
1148 disk = r10_bio->devs[slot].devnum; in raid10_read_request()
1155 err_rdev = r10_bio->devs[slot].rdev; in raid10_read_request()
1193 r10_bio->devs[slot].bio = read_bio; in raid10_read_request()
1194 r10_bio->devs[slot].rdev = rdev; in raid10_read_request()
1196 read_bio->bi_iter.bi_sector = r10_bio->devs[slot].addr + in raid10_read_request()
1225 int devnum = r10_bio->devs[n_copy].devnum; in raid10_write_one_disk()
1240 r10_bio->devs[n_copy].repl_bio = mbio; in raid10_write_one_disk()
1242 r10_bio->devs[n_copy].bio = mbio; in raid10_write_one_disk()
1244 mbio->bi_iter.bi_sector = (r10_bio->devs[n_copy].addr + in raid10_write_one_disk()
1308 sector_t dev_sector = r10_bio->devs[i].addr; in wait_blocked_dev()
1415 int d = r10_bio->devs[i].devnum; in raid10_write_request()
1426 r10_bio->devs[i].bio = NULL; in raid10_write_request()
1427 r10_bio->devs[i].repl_bio = NULL; in raid10_write_request()
1435 sector_t dev_sector = r10_bio->devs[i].addr; in raid10_write_request()
1466 r10_bio->devs[i].bio = bio; in raid10_write_request()
1470 r10_bio->devs[i].repl_bio = bio; in raid10_write_request()
1496 if (r10_bio->devs[i].bio) in raid10_write_request()
1498 if (r10_bio->devs[i].repl_bio) in raid10_write_request()
1518 memset(r10_bio->devs, 0, sizeof(r10_bio->devs[0]) * in __make_request()
1697 memset(r10_bio->devs, 0, sizeof(r10_bio->devs[0]) * geo->raid_disks); in raid10_handle_discard()
1726 r10_bio->devs[disk].bio = NULL; in raid10_handle_discard()
1727 r10_bio->devs[disk].repl_bio = NULL; in raid10_handle_discard()
1737 r10_bio->devs[disk].bio = bio; in raid10_handle_discard()
1741 r10_bio->devs[disk].repl_bio = bio; in raid10_handle_discard()
1784 if (r10_bio->devs[disk].bio) { in raid10_handle_discard()
1789 r10_bio->devs[disk].bio = mbio; in raid10_handle_discard()
1790 r10_bio->devs[disk].devnum = disk; in raid10_handle_discard()
1797 if (r10_bio->devs[disk].repl_bio) { in raid10_handle_discard()
1802 r10_bio->devs[disk].repl_bio = rbio; in raid10_handle_discard()
1803 r10_bio->devs[disk].devnum = disk; in raid10_handle_discard()
2296 r10_bio->devs[slot].addr, in end_sync_write()
2334 if (!r10_bio->devs[i].bio->bi_status) in sync_request_write()
2341 fbio = r10_bio->devs[i].bio; in sync_request_write()
2353 tbio = r10_bio->devs[i].bio; in sync_request_write()
2361 d = r10_bio->devs[i].devnum; in sync_request_write()
2363 if (!r10_bio->devs[i].bio->bi_status) { in sync_request_write()
2402 tbio->bi_iter.bi_sector = r10_bio->devs[i].addr; in sync_request_write()
2425 tbio = r10_bio->devs[i].repl_bio; in sync_request_write()
2428 if (r10_bio->devs[i].bio->bi_end_io != end_sync_write in sync_request_write()
2429 && r10_bio->devs[i].bio != fbio) in sync_request_write()
2431 d = r10_bio->devs[i].devnum; in sync_request_write()
2466 struct bio *bio = r10_bio->devs[0].bio; in fix_recovery_read_error()
2470 int dr = r10_bio->devs[0].devnum; in fix_recovery_read_error()
2471 int dw = r10_bio->devs[1].devnum; in fix_recovery_read_error()
2484 addr = r10_bio->devs[0].addr + sect, in fix_recovery_read_error()
2492 addr = r10_bio->devs[1].addr + sect; in fix_recovery_read_error()
2516 addr = r10_bio->devs[1].addr + sect; in fix_recovery_read_error()
2554 d = r10_bio->devs[1].devnum; in recovery_request_write()
2555 wbio = r10_bio->devs[1].bio; in recovery_request_write()
2556 wbio2 = r10_bio->devs[1].repl_bio; in recovery_request_write()
2650 int d = r10_bio->devs[r10_bio->read_slot].devnum; in fix_read_error()
2674 r10_bio->devs[r10_bio->read_slot].bio = IO_BLOCKED; in fix_read_error()
2692 d = r10_bio->devs[sl].devnum; in fix_read_error()
2697 is_badblock(rdev, r10_bio->devs[sl].addr + sect, s, in fix_read_error()
2702 r10_bio->devs[sl].addr + in fix_read_error()
2723 int dn = r10_bio->devs[r10_bio->read_slot].devnum; in fix_read_error()
2728 r10_bio->devs[r10_bio->read_slot].addr in fix_read_error()
2732 r10_bio->devs[r10_bio->read_slot].bio in fix_read_error()
2747 d = r10_bio->devs[sl].devnum; in fix_read_error()
2757 r10_bio->devs[sl].addr + in fix_read_error()
2783 d = r10_bio->devs[sl].devnum; in fix_read_error()
2793 r10_bio->devs[sl].addr + in fix_read_error()
2834 struct md_rdev *rdev = conf->mirrors[r10_bio->devs[i].devnum].rdev; in narrow_write_error()
2870 wsector = r10_bio->devs[i].addr + (sector - r10_bio->sector); in narrow_write_error()
2895 struct md_rdev *rdev = r10_bio->devs[slot].rdev; in handle_read_error()
2905 bio = r10_bio->devs[slot].bio; in handle_read_error()
2907 r10_bio->devs[slot].bio = NULL; in handle_read_error()
2910 r10_bio->devs[slot].bio = IO_BLOCKED; in handle_read_error()
2938 int dev = r10_bio->devs[m].devnum; in handle_write_completed()
2940 if (r10_bio->devs[m].bio == NULL || in handle_write_completed()
2941 r10_bio->devs[m].bio->bi_end_io == NULL) in handle_write_completed()
2943 if (!r10_bio->devs[m].bio->bi_status) { in handle_write_completed()
2946 r10_bio->devs[m].addr, in handle_write_completed()
2951 r10_bio->devs[m].addr, in handle_write_completed()
2956 if (r10_bio->devs[m].repl_bio == NULL || in handle_write_completed()
2957 r10_bio->devs[m].repl_bio->bi_end_io == NULL) in handle_write_completed()
2960 if (!r10_bio->devs[m].repl_bio->bi_status) { in handle_write_completed()
2963 r10_bio->devs[m].addr, in handle_write_completed()
2968 r10_bio->devs[m].addr, in handle_write_completed()
2977 int dev = r10_bio->devs[m].devnum; in handle_write_completed()
2978 struct bio *bio = r10_bio->devs[m].bio; in handle_write_completed()
2983 r10_bio->devs[m].addr, in handle_write_completed()
2995 bio = r10_bio->devs[m].repl_bio; in handle_write_completed()
3000 r10_bio->devs[m].addr, in handle_write_completed()
3132 bio = r10bio->devs[i].bio; in raid10_alloc_init_r10buf()
3136 bio = r10bio->devs[i].repl_bio; in raid10_alloc_init_r10buf()
3454 int d = r10_bio->devs[j].devnum; in raid10_sync_request()
3465 sector = r10_bio->devs[j].addr; in raid10_sync_request()
3479 bio = r10_bio->devs[0].bio; in raid10_sync_request()
3486 from_addr = r10_bio->devs[j].addr; in raid10_sync_request()
3494 if (r10_bio->devs[k].devnum == i) in raid10_sync_request()
3497 to_addr = r10_bio->devs[k].addr; in raid10_sync_request()
3498 r10_bio->devs[0].devnum = d; in raid10_sync_request()
3499 r10_bio->devs[0].addr = from_addr; in raid10_sync_request()
3500 r10_bio->devs[1].devnum = i; in raid10_sync_request()
3501 r10_bio->devs[1].addr = to_addr; in raid10_sync_request()
3504 bio = r10_bio->devs[1].bio; in raid10_sync_request()
3514 r10_bio->devs[1].bio->bi_end_io = NULL; in raid10_sync_request()
3517 bio = r10_bio->devs[1].repl_bio; in raid10_sync_request()
3546 if (r10_bio->devs[k].devnum == i) in raid10_sync_request()
3552 r10_bio->devs[k].addr, in raid10_sync_request()
3558 r10_bio->devs[k].addr, in raid10_sync_request()
3582 if (r10_bio->devs[0].bio->bi_opf & MD_FAILFAST) { in raid10_sync_request()
3589 int d = r10_bio->devs[j].devnum; in raid10_sync_request()
3596 r10_bio->devs[0].bio->bi_opf in raid10_sync_request()
3649 int d = r10_bio->devs[i].devnum; in raid10_sync_request()
3654 if (r10_bio->devs[i].repl_bio) in raid10_sync_request()
3655 r10_bio->devs[i].repl_bio->bi_end_io = NULL; in raid10_sync_request()
3657 bio = r10_bio->devs[i].bio; in raid10_sync_request()
3665 sector = r10_bio->devs[i].addr; in raid10_sync_request()
3698 bio = r10_bio->devs[i].repl_bio; in raid10_sync_request()
3701 sector = r10_bio->devs[i].addr; in raid10_sync_request()
3716 int d = r10_bio->devs[i].devnum; in raid10_sync_request()
3717 if (r10_bio->devs[i].bio->bi_end_io) in raid10_sync_request()
3720 if (r10_bio->devs[i].repl_bio && in raid10_sync_request()
3721 r10_bio->devs[i].repl_bio->bi_end_io) in raid10_sync_request()
4316 static void *raid10_takeover_raid0(struct mddev *mddev, sector_t size, int devs) in raid10_takeover_raid0() argument
4326 sector_div(size, devs); in raid10_takeover_raid0()
4869 read_bio->bi_iter.bi_sector = (r10_bio->devs[r10_bio->read_slot].addr in reshape_request()
4875 r10_bio->read_slot = r10_bio->devs[r10_bio->read_slot].devnum; in reshape_request()
4912 int d = r10_bio->devs[s/2].devnum; in reshape_request()
4916 b = r10_bio->devs[s/2].repl_bio; in reshape_request()
4919 b = r10_bio->devs[s/2].bio; in reshape_request()
4925 b->bi_iter.bi_sector = r10_bio->devs[s/2].addr + in reshape_request()
4936 pages = get_resync_pages(r10_bio->devs[0].bio)->pages; in reshape_request()
5003 int d = r10_bio->devs[s/2].devnum; in reshape_request_write()
5008 b = r10_bio->devs[s/2].repl_bio; in reshape_request_write()
5011 b = r10_bio->devs[s/2].bio; in reshape_request_write()
5069 r10b = kmalloc(struct_size(r10b, devs, conf->copies), GFP_NOIO); in handle_reshape_read_error()
5076 pages = get_resync_pages(r10_bio->devs[0].bio)->pages; in handle_reshape_read_error()
5091 int d = r10b->devs[slot].devnum; in handle_reshape_read_error()
5099 addr = r10b->devs[slot].addr + idx * PAGE_SIZE; in handle_reshape_read_error()