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()
347 conf->mirrors[r10_bio->devs[slot].devnum].head_position = in update_head_pos()
348 r10_bio->devs[slot].addr + (r10_bio->sectors); in update_head_pos()
361 if (r10_bio->devs[slot].bio == bio) in find_bio_disk()
363 if (r10_bio->devs[slot].repl_bio == bio) { in find_bio_disk()
375 return r10_bio->devs[slot].devnum; in find_bio_disk()
387 rdev = r10_bio->devs[slot].rdev; in raid10_end_read_request()
504 r10_bio->devs[slot].bio = NULL; in raid10_end_write_request()
531 if (rdev_has_badblock(rdev, r10_bio->devs[slot].addr, in raid10_end_write_request()
536 r10_bio->devs[slot].repl_bio = IO_MADE_GOOD; in raid10_end_write_request()
538 r10_bio->devs[slot].bio = IO_MADE_GOOD; in raid10_end_write_request()
614 r10bio->devs[slot].devnum = d; in __raid10_find_phys()
615 r10bio->devs[slot].addr = s; in __raid10_find_phys()
632 r10bio->devs[slot].devnum = d; in __raid10_find_phys()
633 r10bio->devs[slot].addr = s; in __raid10_find_phys()
759 if (r10_bio->devs[slot].bio == IO_BLOCKED) in read_balance()
761 disk = r10_bio->devs[slot].devnum; in read_balance()
764 r10_bio->devs[slot].addr + sectors > in read_balance()
771 r10_bio->devs[slot].addr + sectors > rdev->recovery_offset) in read_balance()
774 dev_sector = r10_bio->devs[slot].addr; in read_balance()
830 new_distance = r10_bio->devs[slot].addr; in read_balance()
832 new_distance = abs(r10_bio->devs[slot].addr - in read_balance()
1160 if (slot >= 0 && r10_bio->devs[slot].rdev) { in raid10_read_request()
1175 disk = r10_bio->devs[slot].devnum; in raid10_read_request()
1182 err_rdev = r10_bio->devs[slot].rdev; in raid10_read_request()
1228 r10_bio->devs[slot].bio = read_bio; in raid10_read_request()
1229 r10_bio->devs[slot].rdev = rdev; in raid10_read_request()
1231 read_bio->bi_iter.bi_sector = r10_bio->devs[slot].addr + in raid10_read_request()
1253 int devnum = r10_bio->devs[n_copy].devnum; in raid10_write_one_disk()
1262 r10_bio->devs[n_copy].repl_bio = mbio; in raid10_write_one_disk()
1264 r10_bio->devs[n_copy].bio = mbio; in raid10_write_one_disk()
1266 mbio->bi_iter.bi_sector = (r10_bio->devs[n_copy].addr + in raid10_write_one_disk()
1301 sector_t dev_sector = r10_bio->devs[i].addr; in wait_blocked_dev()
1421 int d = r10_bio->devs[i].devnum; in raid10_write_request()
1431 r10_bio->devs[i].bio = NULL; in raid10_write_request()
1432 r10_bio->devs[i].repl_bio = NULL; in raid10_write_request()
1438 sector_t dev_sector = r10_bio->devs[i].addr; in raid10_write_request()
1473 r10_bio->devs[i].bio = bio; in raid10_write_request()
1477 r10_bio->devs[i].repl_bio = bio; in raid10_write_request()
1503 if (r10_bio->devs[i].bio) in raid10_write_request()
1505 if (r10_bio->devs[i].repl_bio) in raid10_write_request()
1512 int d = r10_bio->devs[k].devnum; in raid10_write_request()
1516 if (r10_bio->devs[k].bio) { in raid10_write_request()
1518 r10_bio->devs[k].bio = NULL; in raid10_write_request()
1520 if (r10_bio->devs[k].repl_bio) { in raid10_write_request()
1522 r10_bio->devs[k].repl_bio = NULL; in raid10_write_request()
1543 memset(r10_bio->devs, 0, sizeof(r10_bio->devs[0]) * in __make_request()
1730 memset(r10_bio->devs, 0, sizeof(r10_bio->devs[0]) * geo->raid_disks); in raid10_handle_discard()
1759 r10_bio->devs[disk].bio = NULL; in raid10_handle_discard()
1760 r10_bio->devs[disk].repl_bio = NULL; in raid10_handle_discard()
1770 r10_bio->devs[disk].bio = bio; in raid10_handle_discard()
1774 r10_bio->devs[disk].repl_bio = bio; in raid10_handle_discard()
1816 if (r10_bio->devs[disk].bio) { in raid10_handle_discard()
1822 r10_bio->devs[disk].bio = mbio; in raid10_handle_discard()
1823 r10_bio->devs[disk].devnum = disk; in raid10_handle_discard()
1830 if (r10_bio->devs[disk].repl_bio) { in raid10_handle_discard()
1836 r10_bio->devs[disk].repl_bio = rbio; in raid10_handle_discard()
1837 r10_bio->devs[disk].devnum = disk; in raid10_handle_discard()
2315 } else if (rdev_has_badblock(rdev, r10_bio->devs[slot].addr, in end_sync_write()
2353 if (!r10_bio->devs[i].bio->bi_status) in sync_request_write()
2360 fbio = r10_bio->devs[i].bio; in sync_request_write()
2372 tbio = r10_bio->devs[i].bio; in sync_request_write()
2380 d = r10_bio->devs[i].devnum; in sync_request_write()
2382 if (!r10_bio->devs[i].bio->bi_status) { in sync_request_write()
2421 tbio->bi_iter.bi_sector = r10_bio->devs[i].addr; in sync_request_write()
2439 tbio = r10_bio->devs[i].repl_bio; in sync_request_write()
2442 if (r10_bio->devs[i].bio->bi_end_io != end_sync_write in sync_request_write()
2443 && r10_bio->devs[i].bio != fbio) in sync_request_write()
2477 struct bio *bio = r10_bio->devs[0].bio; in fix_recovery_read_error()
2481 int dr = r10_bio->devs[0].devnum; in fix_recovery_read_error()
2482 int dw = r10_bio->devs[1].devnum; in fix_recovery_read_error()
2495 addr = r10_bio->devs[0].addr + sect; in fix_recovery_read_error()
2503 addr = r10_bio->devs[1].addr + sect; in fix_recovery_read_error()
2527 addr = r10_bio->devs[1].addr + sect; in fix_recovery_read_error()
2551 struct bio *wbio = r10_bio->devs[1].bio; in recovery_request_write()
2552 struct bio *wbio2 = r10_bio->devs[1].repl_bio; in recovery_request_write()
2574 d = r10_bio->devs[1].devnum; in recovery_request_write()
2618 int d = r10_bio->devs[slot].devnum; in fix_read_error()
2631 r10_bio->devs[slot].bio = IO_BLOCKED; in fix_read_error()
2645 d = r10_bio->devs[sl].devnum; in fix_read_error()
2651 r10_bio->devs[sl].addr + sect, in fix_read_error()
2655 r10_bio->devs[sl].addr + in fix_read_error()
2674 int dn = r10_bio->devs[slot].devnum; in fix_read_error()
2679 r10_bio->devs[slot].addr in fix_read_error()
2682 r10_bio->devs[slot].bio in fix_read_error()
2694 d = r10_bio->devs[sl].devnum; in fix_read_error()
2703 r10_bio->devs[sl].addr + in fix_read_error()
2726 d = r10_bio->devs[sl].devnum; in fix_read_error()
2735 r10_bio->devs[sl].addr + in fix_read_error()
2773 struct md_rdev *rdev = conf->mirrors[r10_bio->devs[i].devnum].rdev; in narrow_write_error()
2809 wsector = r10_bio->devs[i].addr + (sector - r10_bio->sector); in narrow_write_error()
2836 struct md_rdev *rdev = r10_bio->devs[slot].rdev; in handle_read_error()
2846 bio = r10_bio->devs[slot].bio; in handle_read_error()
2848 r10_bio->devs[slot].bio = NULL; in handle_read_error()
2851 r10_bio->devs[slot].bio = IO_BLOCKED; in handle_read_error()
2883 int dev = r10_bio->devs[m].devnum; in handle_write_completed()
2885 if (r10_bio->devs[m].bio == NULL || in handle_write_completed()
2886 r10_bio->devs[m].bio->bi_end_io == NULL) in handle_write_completed()
2888 if (!r10_bio->devs[m].bio->bi_status) in handle_write_completed()
2891 r10_bio->devs[m].addr, in handle_write_completed()
2895 r10_bio->devs[m].addr, in handle_write_completed()
2898 if (r10_bio->devs[m].repl_bio == NULL || in handle_write_completed()
2899 r10_bio->devs[m].repl_bio->bi_end_io == NULL) in handle_write_completed()
2902 if (!r10_bio->devs[m].repl_bio->bi_status) in handle_write_completed()
2905 r10_bio->devs[m].addr, in handle_write_completed()
2909 r10_bio->devs[m].addr, in handle_write_completed()
2916 int dev = r10_bio->devs[m].devnum; in handle_write_completed()
2917 struct bio *bio = r10_bio->devs[m].bio; in handle_write_completed()
2922 r10_bio->devs[m].addr, in handle_write_completed()
2930 bio = r10_bio->devs[m].repl_bio; in handle_write_completed()
2935 r10_bio->devs[m].addr, in handle_write_completed()
3065 bio = r10bio->devs[i].bio; in raid10_alloc_init_r10buf()
3069 bio = r10bio->devs[i].repl_bio; in raid10_alloc_init_r10buf()
3357 int d = r10_bio->devs[j].devnum; in raid10_sync_request()
3366 sector = r10_bio->devs[j].addr; in raid10_sync_request()
3381 bio = r10_bio->devs[0].bio; in raid10_sync_request()
3388 from_addr = r10_bio->devs[j].addr; in raid10_sync_request()
3396 if (r10_bio->devs[k].devnum == i) in raid10_sync_request()
3399 to_addr = r10_bio->devs[k].addr; in raid10_sync_request()
3400 r10_bio->devs[0].devnum = d; in raid10_sync_request()
3401 r10_bio->devs[0].addr = from_addr; in raid10_sync_request()
3402 r10_bio->devs[1].devnum = i; in raid10_sync_request()
3403 r10_bio->devs[1].addr = to_addr; in raid10_sync_request()
3406 bio = r10_bio->devs[1].bio; in raid10_sync_request()
3416 r10_bio->devs[1].bio->bi_end_io = NULL; in raid10_sync_request()
3419 bio = r10_bio->devs[1].repl_bio; in raid10_sync_request()
3447 if (r10_bio->devs[k].devnum == i) in raid10_sync_request()
3453 r10_bio->devs[k].addr, in raid10_sync_request()
3458 r10_bio->devs[k].addr, in raid10_sync_request()
3461 mdname(mddev), r10_bio->devs[k].addr, max_sync); in raid10_sync_request()
3477 if (r10_bio->devs[0].bio->bi_opf & MD_FAILFAST) { in raid10_sync_request()
3484 int d = r10_bio->devs[j].devnum; in raid10_sync_request()
3491 r10_bio->devs[0].bio->bi_opf in raid10_sync_request()
3546 int d = r10_bio->devs[i].devnum; in raid10_sync_request()
3551 if (r10_bio->devs[i].repl_bio) in raid10_sync_request()
3552 r10_bio->devs[i].repl_bio->bi_end_io = NULL; in raid10_sync_request()
3554 bio = r10_bio->devs[i].bio; in raid10_sync_request()
3560 sector = r10_bio->devs[i].addr; in raid10_sync_request()
3591 bio = r10_bio->devs[i].repl_bio; in raid10_sync_request()
3594 sector = r10_bio->devs[i].addr; in raid10_sync_request()
3608 int d = r10_bio->devs[i].devnum; in raid10_sync_request()
3609 if (r10_bio->devs[i].bio->bi_end_io) in raid10_sync_request()
3612 if (r10_bio->devs[i].repl_bio && in raid10_sync_request()
3613 r10_bio->devs[i].repl_bio->bi_end_io) in raid10_sync_request()
4185 static void *raid10_takeover_raid0(struct mddev *mddev, sector_t size, int devs) in raid10_takeover_raid0() argument
4195 sector_div(size, devs); in raid10_takeover_raid0()
4727 read_bio->bi_iter.bi_sector = (r10_bio->devs[r10_bio->read_slot].addr in reshape_request()
4732 r10_bio->read_slot = r10_bio->devs[r10_bio->read_slot].devnum; in reshape_request()
4768 int d = r10_bio->devs[s/2].devnum; in reshape_request()
4772 b = r10_bio->devs[s/2].repl_bio; in reshape_request()
4775 b = r10_bio->devs[s/2].bio; in reshape_request()
4781 b->bi_iter.bi_sector = r10_bio->devs[s/2].addr + in reshape_request()
4792 pages = get_resync_pages(r10_bio->devs[0].bio)->pages; in reshape_request()
4858 int d = r10_bio->devs[s/2].devnum; in reshape_request_write()
4862 b = r10_bio->devs[s/2].repl_bio; in reshape_request_write()
4865 b = r10_bio->devs[s/2].bio; in reshape_request_write()
4919 r10b = kmalloc_flex(*r10b, devs, conf->copies, GFP_NOIO); in handle_reshape_read_error()
4926 pages = get_resync_pages(r10_bio->devs[0].bio)->pages; in handle_reshape_read_error()
4940 int d = r10b->devs[slot].devnum; in handle_reshape_read_error()
4948 addr = r10b->devs[slot].addr + idx * PAGE_SIZE; in handle_reshape_read_error()