Lines Matching refs:devs
109 int size = offsetof(struct r10bio, devs[conf->geo.raid_disks]); in r10bio_pool_alloc()
167 r10_bio->devs[j].bio = bio; in r10buf_pool_alloc()
174 r10_bio->devs[j].repl_bio = bio; in r10buf_pool_alloc()
181 struct bio *rbio = r10_bio->devs[j].repl_bio; in r10buf_pool_alloc()
188 bio = r10_bio->devs[j].bio; in r10buf_pool_alloc()
216 if (r10_bio->devs[j].bio) in r10buf_pool_alloc()
217 bio_uninit(r10_bio->devs[j].bio); in r10buf_pool_alloc()
218 kfree(r10_bio->devs[j].bio); in r10buf_pool_alloc()
219 if (r10_bio->devs[j].repl_bio) in r10buf_pool_alloc()
220 bio_uninit(r10_bio->devs[j].repl_bio); in r10buf_pool_alloc()
221 kfree(r10_bio->devs[j].repl_bio); in r10buf_pool_alloc()
237 struct bio *bio = r10bio->devs[j].bio; in r10buf_pool_free()
246 bio = r10bio->devs[j].repl_bio; in r10buf_pool_free()
264 struct bio **bio = & r10_bio->devs[i].bio; in put_all_bios()
268 bio = &r10_bio->devs[i].repl_bio; in put_all_bios()
345 conf->mirrors[r10_bio->devs[slot].devnum].head_position = in update_head_pos()
346 r10_bio->devs[slot].addr + (r10_bio->sectors); in update_head_pos()
359 if (r10_bio->devs[slot].bio == bio) in find_bio_disk()
361 if (r10_bio->devs[slot].repl_bio == bio) { in find_bio_disk()
373 return r10_bio->devs[slot].devnum; in find_bio_disk()
385 rdev = r10_bio->devs[slot].rdev; in raid10_end_read_request()
505 r10_bio->devs[slot].bio = NULL; in raid10_end_write_request()
537 r10_bio->devs[slot].addr, in raid10_end_write_request()
542 r10_bio->devs[slot].repl_bio = IO_MADE_GOOD; in raid10_end_write_request()
544 r10_bio->devs[slot].bio = IO_MADE_GOOD; in raid10_end_write_request()
620 r10bio->devs[slot].devnum = d; in __raid10_find_phys()
621 r10bio->devs[slot].addr = s; in __raid10_find_phys()
638 r10bio->devs[slot].devnum = d; in __raid10_find_phys()
639 r10bio->devs[slot].addr = s; in __raid10_find_phys()
775 if (r10_bio->devs[slot].bio == IO_BLOCKED) in read_balance()
777 disk = r10_bio->devs[slot].devnum; in read_balance()
780 r10_bio->devs[slot].addr + sectors > in read_balance()
794 r10_bio->devs[slot].addr + sectors > rdev->recovery_offset) in read_balance()
797 dev_sector = r10_bio->devs[slot].addr; in read_balance()
853 new_distance = r10_bio->devs[slot].addr; in read_balance()
855 new_distance = abs(r10_bio->devs[slot].addr - in read_balance()
1186 if (slot >= 0 && r10_bio->devs[slot].rdev) { in raid10_read_request()
1202 disk = r10_bio->devs[slot].devnum; in raid10_read_request()
1209 err_rdev = r10_bio->devs[slot].rdev; in raid10_read_request()
1250 r10_bio->devs[slot].bio = read_bio; in raid10_read_request()
1251 r10_bio->devs[slot].rdev = rdev; in raid10_read_request()
1253 read_bio->bi_iter.bi_sector = r10_bio->devs[slot].addr + in raid10_read_request()
1279 int devnum = r10_bio->devs[n_copy].devnum; in raid10_write_one_disk()
1294 r10_bio->devs[n_copy].repl_bio = mbio; in raid10_write_one_disk()
1296 r10_bio->devs[n_copy].bio = mbio; in raid10_write_one_disk()
1298 mbio->bi_iter.bi_sector = (r10_bio->devs[n_copy].addr + in raid10_write_one_disk()
1369 sector_t dev_sector = r10_bio->devs[i].addr; in wait_blocked_dev()
1481 int d = r10_bio->devs[i].devnum; in raid10_write_request()
1490 r10_bio->devs[i].bio = NULL; in raid10_write_request()
1491 r10_bio->devs[i].repl_bio = NULL; in raid10_write_request()
1499 sector_t dev_sector = r10_bio->devs[i].addr; in raid10_write_request()
1530 r10_bio->devs[i].bio = bio; in raid10_write_request()
1534 r10_bio->devs[i].repl_bio = bio; in raid10_write_request()
1560 if (r10_bio->devs[i].bio) in raid10_write_request()
1562 if (r10_bio->devs[i].repl_bio) in raid10_write_request()
1582 memset(r10_bio->devs, 0, sizeof(r10_bio->devs[0]) * in __make_request()
1765 memset(r10_bio->devs, 0, sizeof(r10_bio->devs[0]) * geo->raid_disks); in raid10_handle_discard()
1793 r10_bio->devs[disk].bio = NULL; in raid10_handle_discard()
1794 r10_bio->devs[disk].repl_bio = NULL; in raid10_handle_discard()
1804 r10_bio->devs[disk].bio = bio; in raid10_handle_discard()
1808 r10_bio->devs[disk].repl_bio = bio; in raid10_handle_discard()
1851 if (r10_bio->devs[disk].bio) { in raid10_handle_discard()
1857 r10_bio->devs[disk].bio = mbio; in raid10_handle_discard()
1858 r10_bio->devs[disk].devnum = disk; in raid10_handle_discard()
1865 if (r10_bio->devs[disk].repl_bio) { in raid10_handle_discard()
1871 r10_bio->devs[disk].repl_bio = rbio; in raid10_handle_discard()
1872 r10_bio->devs[disk].devnum = disk; in raid10_handle_discard()
2377 r10_bio->devs[slot].addr, in end_sync_write()
2415 if (!r10_bio->devs[i].bio->bi_status) in sync_request_write()
2422 fbio = r10_bio->devs[i].bio; in sync_request_write()
2434 tbio = r10_bio->devs[i].bio; in sync_request_write()
2442 d = r10_bio->devs[i].devnum; in sync_request_write()
2444 if (!r10_bio->devs[i].bio->bi_status) { in sync_request_write()
2483 tbio->bi_iter.bi_sector = r10_bio->devs[i].addr; in sync_request_write()
2504 tbio = r10_bio->devs[i].repl_bio; in sync_request_write()
2507 if (r10_bio->devs[i].bio->bi_end_io != end_sync_write in sync_request_write()
2508 && r10_bio->devs[i].bio != fbio) in sync_request_write()
2510 d = r10_bio->devs[i].devnum; in sync_request_write()
2545 struct bio *bio = r10_bio->devs[0].bio; in fix_recovery_read_error()
2549 int dr = r10_bio->devs[0].devnum; in fix_recovery_read_error()
2550 int dw = r10_bio->devs[1].devnum; in fix_recovery_read_error()
2563 addr = r10_bio->devs[0].addr + sect, in fix_recovery_read_error()
2571 addr = r10_bio->devs[1].addr + sect; in fix_recovery_read_error()
2595 addr = r10_bio->devs[1].addr + sect; in fix_recovery_read_error()
2621 struct bio *wbio = r10_bio->devs[1].bio; in recovery_request_write()
2622 struct bio *wbio2 = r10_bio->devs[1].repl_bio; in recovery_request_write()
2644 d = r10_bio->devs[1].devnum; in recovery_request_write()
2732 int d = r10_bio->devs[slot].devnum; in fix_read_error()
2753 r10_bio->devs[slot].bio = IO_BLOCKED; in fix_read_error()
2771 d = r10_bio->devs[sl].devnum; in fix_read_error()
2776 is_badblock(rdev, r10_bio->devs[sl].addr + sect, s, in fix_read_error()
2781 r10_bio->devs[sl].addr + in fix_read_error()
2802 int dn = r10_bio->devs[slot].devnum; in fix_read_error()
2807 r10_bio->devs[slot].addr in fix_read_error()
2811 r10_bio->devs[slot].bio in fix_read_error()
2824 d = r10_bio->devs[sl].devnum; in fix_read_error()
2834 r10_bio->devs[sl].addr + in fix_read_error()
2858 d = r10_bio->devs[sl].devnum; in fix_read_error()
2868 r10_bio->devs[sl].addr + in fix_read_error()
2908 struct md_rdev *rdev = conf->mirrors[r10_bio->devs[i].devnum].rdev; in narrow_write_error()
2945 wsector = r10_bio->devs[i].addr + (sector - r10_bio->sector); in narrow_write_error()
2969 struct md_rdev *rdev = r10_bio->devs[slot].rdev; in handle_read_error()
2979 bio = r10_bio->devs[slot].bio; in handle_read_error()
2981 r10_bio->devs[slot].bio = NULL; in handle_read_error()
2984 r10_bio->devs[slot].bio = IO_BLOCKED; in handle_read_error()
3016 int dev = r10_bio->devs[m].devnum; in handle_write_completed()
3018 if (r10_bio->devs[m].bio == NULL || in handle_write_completed()
3019 r10_bio->devs[m].bio->bi_end_io == NULL) in handle_write_completed()
3021 if (!r10_bio->devs[m].bio->bi_status) { in handle_write_completed()
3024 r10_bio->devs[m].addr, in handle_write_completed()
3029 r10_bio->devs[m].addr, in handle_write_completed()
3034 if (r10_bio->devs[m].repl_bio == NULL || in handle_write_completed()
3035 r10_bio->devs[m].repl_bio->bi_end_io == NULL) in handle_write_completed()
3038 if (!r10_bio->devs[m].repl_bio->bi_status) { in handle_write_completed()
3041 r10_bio->devs[m].addr, in handle_write_completed()
3046 r10_bio->devs[m].addr, in handle_write_completed()
3055 int dev = r10_bio->devs[m].devnum; in handle_write_completed()
3056 struct bio *bio = r10_bio->devs[m].bio; in handle_write_completed()
3061 r10_bio->devs[m].addr, in handle_write_completed()
3073 bio = r10_bio->devs[m].repl_bio; in handle_write_completed()
3078 r10_bio->devs[m].addr, in handle_write_completed()
3210 bio = r10bio->devs[i].bio; in raid10_alloc_init_r10buf()
3214 bio = r10bio->devs[i].repl_bio; in raid10_alloc_init_r10buf()
3541 int d = r10_bio->devs[j].devnum; in raid10_sync_request()
3552 sector = r10_bio->devs[j].addr; in raid10_sync_request()
3566 bio = r10_bio->devs[0].bio; in raid10_sync_request()
3573 from_addr = r10_bio->devs[j].addr; in raid10_sync_request()
3581 if (r10_bio->devs[k].devnum == i) in raid10_sync_request()
3584 to_addr = r10_bio->devs[k].addr; in raid10_sync_request()
3585 r10_bio->devs[0].devnum = d; in raid10_sync_request()
3586 r10_bio->devs[0].addr = from_addr; in raid10_sync_request()
3587 r10_bio->devs[1].devnum = i; in raid10_sync_request()
3588 r10_bio->devs[1].addr = to_addr; in raid10_sync_request()
3591 bio = r10_bio->devs[1].bio; in raid10_sync_request()
3601 r10_bio->devs[1].bio->bi_end_io = NULL; in raid10_sync_request()
3604 bio = r10_bio->devs[1].repl_bio; in raid10_sync_request()
3633 if (r10_bio->devs[k].devnum == i) in raid10_sync_request()
3639 r10_bio->devs[k].addr, in raid10_sync_request()
3645 r10_bio->devs[k].addr, in raid10_sync_request()
3673 if (r10_bio->devs[0].bio->bi_opf & MD_FAILFAST) { in raid10_sync_request()
3680 int d = r10_bio->devs[j].devnum; in raid10_sync_request()
3687 r10_bio->devs[0].bio->bi_opf in raid10_sync_request()
3740 int d = r10_bio->devs[i].devnum; in raid10_sync_request()
3745 if (r10_bio->devs[i].repl_bio) in raid10_sync_request()
3746 r10_bio->devs[i].repl_bio->bi_end_io = NULL; in raid10_sync_request()
3748 bio = r10_bio->devs[i].bio; in raid10_sync_request()
3756 sector = r10_bio->devs[i].addr; in raid10_sync_request()
3789 bio = r10_bio->devs[i].repl_bio; in raid10_sync_request()
3792 sector = r10_bio->devs[i].addr; in raid10_sync_request()
3807 int d = r10_bio->devs[i].devnum; in raid10_sync_request()
3808 if (r10_bio->devs[i].bio->bi_end_io) in raid10_sync_request()
3811 if (r10_bio->devs[i].repl_bio && in raid10_sync_request()
3812 r10_bio->devs[i].repl_bio->bi_end_io) in raid10_sync_request()
4390 static void *raid10_takeover_raid0(struct mddev *mddev, sector_t size, int devs) in raid10_takeover_raid0() argument
4400 sector_div(size, devs); in raid10_takeover_raid0()
4941 read_bio->bi_iter.bi_sector = (r10_bio->devs[r10_bio->read_slot].addr in reshape_request()
4946 r10_bio->read_slot = r10_bio->devs[r10_bio->read_slot].devnum; in reshape_request()
4983 int d = r10_bio->devs[s/2].devnum; in reshape_request()
4987 b = r10_bio->devs[s/2].repl_bio; in reshape_request()
4990 b = r10_bio->devs[s/2].bio; in reshape_request()
4996 b->bi_iter.bi_sector = r10_bio->devs[s/2].addr + in reshape_request()
5007 pages = get_resync_pages(r10_bio->devs[0].bio)->pages; in reshape_request()
5074 int d = r10_bio->devs[s/2].devnum; in reshape_request_write()
5079 b = r10_bio->devs[s/2].repl_bio; in reshape_request_write()
5082 b = r10_bio->devs[s/2].bio; in reshape_request_write()
5140 r10b = kmalloc(struct_size(r10b, devs, conf->copies), GFP_NOIO); in handle_reshape_read_error()
5147 pages = get_resync_pages(r10_bio->devs[0].bio)->pages; in handle_reshape_read_error()
5162 int d = r10b->devs[slot].devnum; in handle_reshape_read_error()
5170 addr = r10b->devs[slot].addr + idx * PAGE_SIZE; in handle_reshape_read_error()