Lines Matching refs:devs
94 int size = offsetof(struct r10bio, devs[conf->copies]); 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()
317 conf->mirrors[r10_bio->devs[slot].devnum].head_position = in update_head_pos()
318 r10_bio->devs[slot].addr + (r10_bio->sectors); in update_head_pos()
331 if (r10_bio->devs[slot].bio == bio) in find_bio_disk()
333 if (r10_bio->devs[slot].repl_bio == bio) { in find_bio_disk()
346 return r10_bio->devs[slot].devnum; in find_bio_disk()
358 rdev = r10_bio->devs[slot].rdev; in raid10_end_read_request()
479 r10_bio->devs[slot].bio = NULL; in raid10_end_write_request()
511 r10_bio->devs[slot].addr, in raid10_end_write_request()
516 r10_bio->devs[slot].repl_bio = IO_MADE_GOOD; in raid10_end_write_request()
518 r10_bio->devs[slot].bio = IO_MADE_GOOD; in raid10_end_write_request()
594 r10bio->devs[slot].devnum = d; in __raid10_find_phys()
595 r10bio->devs[slot].addr = s; in __raid10_find_phys()
612 r10bio->devs[slot].devnum = d; in __raid10_find_phys()
613 r10bio->devs[slot].addr = s; in __raid10_find_phys()
749 if (r10_bio->devs[slot].bio == IO_BLOCKED) in read_balance()
751 disk = r10_bio->devs[slot].devnum; in read_balance()
754 r10_bio->devs[slot].addr + sectors > rdev->recovery_offset) in read_balance()
760 r10_bio->devs[slot].addr + sectors > rdev->recovery_offset) in read_balance()
763 dev_sector = r10_bio->devs[slot].addr; in read_balance()
819 new_distance = r10_bio->devs[slot].addr; in read_balance()
821 new_distance = abs(r10_bio->devs[slot].addr - in read_balance()
1148 if (r10_bio->devs[slot].rdev) { in raid10_read_request()
1164 disk = r10_bio->devs[slot].devnum; in raid10_read_request()
1171 err_rdev = r10_bio->devs[slot].rdev; in raid10_read_request()
1207 r10_bio->devs[slot].bio = read_bio; in raid10_read_request()
1208 r10_bio->devs[slot].rdev = rdev; in raid10_read_request()
1210 read_bio->bi_iter.bi_sector = r10_bio->devs[slot].addr + in raid10_read_request()
1240 int devnum = r10_bio->devs[n_copy].devnum; in raid10_write_one_disk()
1255 r10_bio->devs[n_copy].repl_bio = mbio; in raid10_write_one_disk()
1257 r10_bio->devs[n_copy].bio = mbio; in raid10_write_one_disk()
1259 mbio->bi_iter.bi_sector = (r10_bio->devs[n_copy].addr + in raid10_write_one_disk()
1365 int d = r10_bio->devs[i].devnum; in raid10_write_request()
1386 r10_bio->devs[i].bio = NULL; in raid10_write_request()
1387 r10_bio->devs[i].repl_bio = NULL; in raid10_write_request()
1395 sector_t dev_sector = r10_bio->devs[i].addr; in raid10_write_request()
1435 r10_bio->devs[i].bio = bio; in raid10_write_request()
1439 r10_bio->devs[i].repl_bio = bio; in raid10_write_request()
1451 if (r10_bio->devs[j].bio) { in raid10_write_request()
1452 d = r10_bio->devs[j].devnum; in raid10_write_request()
1455 if (r10_bio->devs[j].repl_bio) { in raid10_write_request()
1457 d = r10_bio->devs[j].devnum; in raid10_write_request()
1492 if (r10_bio->devs[i].bio) in raid10_write_request()
1494 if (r10_bio->devs[i].repl_bio) in raid10_write_request()
1513 memset(r10_bio->devs, 0, sizeof(r10_bio->devs[0]) * conf->copies); in __make_request()
1983 r10_bio->devs[slot].addr, in end_sync_write()
2021 if (!r10_bio->devs[i].bio->bi_status) in sync_request_write()
2028 fbio = r10_bio->devs[i].bio; in sync_request_write()
2040 tbio = r10_bio->devs[i].bio; in sync_request_write()
2048 d = r10_bio->devs[i].devnum; in sync_request_write()
2050 if (!r10_bio->devs[i].bio->bi_status) { in sync_request_write()
2089 tbio->bi_iter.bi_sector = r10_bio->devs[i].addr; in sync_request_write()
2112 tbio = r10_bio->devs[i].repl_bio; in sync_request_write()
2115 if (r10_bio->devs[i].bio->bi_end_io != end_sync_write in sync_request_write()
2116 && r10_bio->devs[i].bio != fbio) in sync_request_write()
2118 d = r10_bio->devs[i].devnum; in sync_request_write()
2153 struct bio *bio = r10_bio->devs[0].bio; in fix_recovery_read_error()
2157 int dr = r10_bio->devs[0].devnum; in fix_recovery_read_error()
2158 int dw = r10_bio->devs[1].devnum; in fix_recovery_read_error()
2171 addr = r10_bio->devs[0].addr + sect, in fix_recovery_read_error()
2179 addr = r10_bio->devs[1].addr + sect; in fix_recovery_read_error()
2203 addr = r10_bio->devs[1].addr + sect; in fix_recovery_read_error()
2241 d = r10_bio->devs[1].devnum; in recovery_request_write()
2242 wbio = r10_bio->devs[1].bio; in recovery_request_write()
2243 wbio2 = r10_bio->devs[1].repl_bio; in recovery_request_write()
2337 int d = r10_bio->devs[r10_bio->read_slot].devnum; in fix_read_error()
2361 r10_bio->devs[r10_bio->read_slot].bio = IO_BLOCKED; in fix_read_error()
2379 d = r10_bio->devs[sl].devnum; in fix_read_error()
2384 is_badblock(rdev, r10_bio->devs[sl].addr + sect, s, in fix_read_error()
2389 r10_bio->devs[sl].addr + in fix_read_error()
2410 int dn = r10_bio->devs[r10_bio->read_slot].devnum; in fix_read_error()
2415 r10_bio->devs[r10_bio->read_slot].addr in fix_read_error()
2419 r10_bio->devs[r10_bio->read_slot].bio in fix_read_error()
2434 d = r10_bio->devs[sl].devnum; in fix_read_error()
2444 r10_bio->devs[sl].addr + in fix_read_error()
2470 d = r10_bio->devs[sl].devnum; in fix_read_error()
2480 r10_bio->devs[sl].addr + in fix_read_error()
2521 struct md_rdev *rdev = conf->mirrors[r10_bio->devs[i].devnum].rdev; in narrow_write_error()
2557 wsector = r10_bio->devs[i].addr + (sector - r10_bio->sector); in narrow_write_error()
2582 struct md_rdev *rdev = r10_bio->devs[slot].rdev; in handle_read_error()
2592 bio = r10_bio->devs[slot].bio; in handle_read_error()
2594 r10_bio->devs[slot].bio = NULL; in handle_read_error()
2597 r10_bio->devs[slot].bio = IO_BLOCKED; in handle_read_error()
2625 int dev = r10_bio->devs[m].devnum; in handle_write_completed()
2627 if (r10_bio->devs[m].bio == NULL || in handle_write_completed()
2628 r10_bio->devs[m].bio->bi_end_io == NULL) in handle_write_completed()
2630 if (!r10_bio->devs[m].bio->bi_status) { in handle_write_completed()
2633 r10_bio->devs[m].addr, in handle_write_completed()
2638 r10_bio->devs[m].addr, in handle_write_completed()
2643 if (r10_bio->devs[m].repl_bio == NULL || in handle_write_completed()
2644 r10_bio->devs[m].repl_bio->bi_end_io == NULL) in handle_write_completed()
2647 if (!r10_bio->devs[m].repl_bio->bi_status) { in handle_write_completed()
2650 r10_bio->devs[m].addr, in handle_write_completed()
2655 r10_bio->devs[m].addr, in handle_write_completed()
2664 int dev = r10_bio->devs[m].devnum; in handle_write_completed()
2665 struct bio *bio = r10_bio->devs[m].bio; in handle_write_completed()
2670 r10_bio->devs[m].addr, in handle_write_completed()
2682 bio = r10_bio->devs[m].repl_bio; in handle_write_completed()
2687 r10_bio->devs[m].addr, in handle_write_completed()
2819 bio = r10bio->devs[i].bio; in raid10_alloc_init_r10buf()
2823 bio = r10bio->devs[i].repl_bio; in raid10_alloc_init_r10buf()
3141 int d = r10_bio->devs[j].devnum; in raid10_sync_request()
3152 sector = r10_bio->devs[j].addr; in raid10_sync_request()
3166 bio = r10_bio->devs[0].bio; in raid10_sync_request()
3173 from_addr = r10_bio->devs[j].addr; in raid10_sync_request()
3181 if (r10_bio->devs[k].devnum == i) in raid10_sync_request()
3184 to_addr = r10_bio->devs[k].addr; in raid10_sync_request()
3185 r10_bio->devs[0].devnum = d; in raid10_sync_request()
3186 r10_bio->devs[0].addr = from_addr; in raid10_sync_request()
3187 r10_bio->devs[1].devnum = i; in raid10_sync_request()
3188 r10_bio->devs[1].addr = to_addr; in raid10_sync_request()
3191 bio = r10_bio->devs[1].bio; in raid10_sync_request()
3201 r10_bio->devs[1].bio->bi_end_io = NULL; in raid10_sync_request()
3204 bio = r10_bio->devs[1].repl_bio; in raid10_sync_request()
3233 if (r10_bio->devs[k].devnum == i) in raid10_sync_request()
3239 r10_bio->devs[k].addr, in raid10_sync_request()
3245 r10_bio->devs[k].addr, in raid10_sync_request()
3269 if (r10_bio->devs[0].bio->bi_opf & MD_FAILFAST) { in raid10_sync_request()
3276 int d = r10_bio->devs[j].devnum; in raid10_sync_request()
3283 r10_bio->devs[0].bio->bi_opf in raid10_sync_request()
3336 int d = r10_bio->devs[i].devnum; in raid10_sync_request()
3341 if (r10_bio->devs[i].repl_bio) in raid10_sync_request()
3342 r10_bio->devs[i].repl_bio->bi_end_io = NULL; in raid10_sync_request()
3344 bio = r10_bio->devs[i].bio; in raid10_sync_request()
3352 sector = r10_bio->devs[i].addr; in raid10_sync_request()
3385 bio = r10_bio->devs[i].repl_bio; in raid10_sync_request()
3388 sector = r10_bio->devs[i].addr; in raid10_sync_request()
3403 int d = r10_bio->devs[i].devnum; in raid10_sync_request()
3404 if (r10_bio->devs[i].bio->bi_end_io) in raid10_sync_request()
3407 if (r10_bio->devs[i].repl_bio && in raid10_sync_request()
3408 r10_bio->devs[i].repl_bio->bi_end_io) in raid10_sync_request()
4011 static void *raid10_takeover_raid0(struct mddev *mddev, sector_t size, int devs) in raid10_takeover_raid0() argument
4021 sector_div(size, devs); in raid10_takeover_raid0()
4564 read_bio->bi_iter.bi_sector = (r10_bio->devs[r10_bio->read_slot].addr in reshape_request()
4574 r10_bio->read_slot = r10_bio->devs[r10_bio->read_slot].devnum; in reshape_request()
4611 int d = r10_bio->devs[s/2].devnum; in reshape_request()
4615 b = r10_bio->devs[s/2].repl_bio; in reshape_request()
4618 b = r10_bio->devs[s/2].bio; in reshape_request()
4624 b->bi_iter.bi_sector = r10_bio->devs[s/2].addr + in reshape_request()
4635 pages = get_resync_pages(r10_bio->devs[0].bio)->pages; in reshape_request()
4702 int d = r10_bio->devs[s/2].devnum; in reshape_request_write()
4707 b = r10_bio->devs[s/2].repl_bio; in reshape_request_write()
4710 b = r10_bio->devs[s/2].bio; in reshape_request_write()
4776 r10b = kmalloc(struct_size(r10b, devs, conf->copies), GFP_NOIO); in handle_reshape_read_error()
4783 pages = get_resync_pages(r10_bio->devs[0].bio)->pages; in handle_reshape_read_error()
4798 int d = r10b->devs[slot].devnum; in handle_reshape_read_error()
4806 addr = r10b->devs[slot].addr + idx * PAGE_SIZE; in handle_reshape_read_error()