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()
1131 if (r10_bio->devs[slot].rdev) { in raid10_read_request()
1147 disk = r10_bio->devs[slot].devnum; in raid10_read_request()
1154 err_rdev = r10_bio->devs[slot].rdev; in raid10_read_request()
1190 r10_bio->devs[slot].bio = read_bio; in raid10_read_request()
1191 r10_bio->devs[slot].rdev = rdev; in raid10_read_request()
1193 read_bio->bi_iter.bi_sector = r10_bio->devs[slot].addr + in raid10_read_request()
1223 int devnum = r10_bio->devs[n_copy].devnum; in raid10_write_one_disk()
1238 r10_bio->devs[n_copy].repl_bio = mbio; in raid10_write_one_disk()
1240 r10_bio->devs[n_copy].bio = mbio; in raid10_write_one_disk()
1242 mbio->bi_iter.bi_sector = (r10_bio->devs[n_copy].addr + in raid10_write_one_disk()
1348 int d = r10_bio->devs[i].devnum; in raid10_write_request()
1369 r10_bio->devs[i].bio = NULL; in raid10_write_request()
1370 r10_bio->devs[i].repl_bio = NULL; in raid10_write_request()
1378 sector_t dev_sector = r10_bio->devs[i].addr; in raid10_write_request()
1418 r10_bio->devs[i].bio = bio; in raid10_write_request()
1422 r10_bio->devs[i].repl_bio = bio; in raid10_write_request()
1434 if (r10_bio->devs[j].bio) { in raid10_write_request()
1435 d = r10_bio->devs[j].devnum; in raid10_write_request()
1438 if (r10_bio->devs[j].repl_bio) { in raid10_write_request()
1440 d = r10_bio->devs[j].devnum; in raid10_write_request()
1475 if (r10_bio->devs[i].bio) in raid10_write_request()
1477 if (r10_bio->devs[i].repl_bio) in raid10_write_request()
1496 memset(r10_bio->devs, 0, sizeof(r10_bio->devs[0]) * conf->copies); in __make_request()
1965 r10_bio->devs[slot].addr, in end_sync_write()
2003 if (!r10_bio->devs[i].bio->bi_status) in sync_request_write()
2010 fbio = r10_bio->devs[i].bio; in sync_request_write()
2022 tbio = r10_bio->devs[i].bio; in sync_request_write()
2030 d = r10_bio->devs[i].devnum; in sync_request_write()
2032 if (!r10_bio->devs[i].bio->bi_status) { in sync_request_write()
2071 tbio->bi_iter.bi_sector = r10_bio->devs[i].addr; in sync_request_write()
2094 tbio = r10_bio->devs[i].repl_bio; in sync_request_write()
2097 if (r10_bio->devs[i].bio->bi_end_io != end_sync_write in sync_request_write()
2098 && r10_bio->devs[i].bio != fbio) in sync_request_write()
2100 d = r10_bio->devs[i].devnum; in sync_request_write()
2135 struct bio *bio = r10_bio->devs[0].bio; in fix_recovery_read_error()
2139 int dr = r10_bio->devs[0].devnum; in fix_recovery_read_error()
2140 int dw = r10_bio->devs[1].devnum; in fix_recovery_read_error()
2153 addr = r10_bio->devs[0].addr + sect, in fix_recovery_read_error()
2161 addr = r10_bio->devs[1].addr + sect; in fix_recovery_read_error()
2185 addr = r10_bio->devs[1].addr + sect; in fix_recovery_read_error()
2223 d = r10_bio->devs[1].devnum; in recovery_request_write()
2224 wbio = r10_bio->devs[1].bio; in recovery_request_write()
2225 wbio2 = r10_bio->devs[1].repl_bio; in recovery_request_write()
2319 int d = r10_bio->devs[r10_bio->read_slot].devnum; in fix_read_error()
2343 r10_bio->devs[r10_bio->read_slot].bio = IO_BLOCKED; in fix_read_error()
2361 d = r10_bio->devs[sl].devnum; in fix_read_error()
2366 is_badblock(rdev, r10_bio->devs[sl].addr + sect, s, in fix_read_error()
2371 r10_bio->devs[sl].addr + in fix_read_error()
2392 int dn = r10_bio->devs[r10_bio->read_slot].devnum; in fix_read_error()
2397 r10_bio->devs[r10_bio->read_slot].addr in fix_read_error()
2401 r10_bio->devs[r10_bio->read_slot].bio in fix_read_error()
2416 d = r10_bio->devs[sl].devnum; in fix_read_error()
2426 r10_bio->devs[sl].addr + in fix_read_error()
2452 d = r10_bio->devs[sl].devnum; in fix_read_error()
2462 r10_bio->devs[sl].addr + in fix_read_error()
2503 struct md_rdev *rdev = conf->mirrors[r10_bio->devs[i].devnum].rdev; in narrow_write_error()
2539 wsector = r10_bio->devs[i].addr + (sector - r10_bio->sector); in narrow_write_error()
2564 struct md_rdev *rdev = r10_bio->devs[slot].rdev; in handle_read_error()
2574 bio = r10_bio->devs[slot].bio; in handle_read_error()
2576 r10_bio->devs[slot].bio = NULL; in handle_read_error()
2579 r10_bio->devs[slot].bio = IO_BLOCKED; in handle_read_error()
2607 int dev = r10_bio->devs[m].devnum; in handle_write_completed()
2609 if (r10_bio->devs[m].bio == NULL || in handle_write_completed()
2610 r10_bio->devs[m].bio->bi_end_io == NULL) in handle_write_completed()
2612 if (!r10_bio->devs[m].bio->bi_status) { in handle_write_completed()
2615 r10_bio->devs[m].addr, in handle_write_completed()
2620 r10_bio->devs[m].addr, in handle_write_completed()
2625 if (r10_bio->devs[m].repl_bio == NULL || in handle_write_completed()
2626 r10_bio->devs[m].repl_bio->bi_end_io == NULL) in handle_write_completed()
2629 if (!r10_bio->devs[m].repl_bio->bi_status) { in handle_write_completed()
2632 r10_bio->devs[m].addr, in handle_write_completed()
2637 r10_bio->devs[m].addr, in handle_write_completed()
2646 int dev = r10_bio->devs[m].devnum; in handle_write_completed()
2647 struct bio *bio = r10_bio->devs[m].bio; in handle_write_completed()
2652 r10_bio->devs[m].addr, in handle_write_completed()
2664 bio = r10_bio->devs[m].repl_bio; in handle_write_completed()
2669 r10_bio->devs[m].addr, in handle_write_completed()
2801 bio = r10bio->devs[i].bio; in raid10_alloc_init_r10buf()
2805 bio = r10bio->devs[i].repl_bio; in raid10_alloc_init_r10buf()
3123 int d = r10_bio->devs[j].devnum; in raid10_sync_request()
3134 sector = r10_bio->devs[j].addr; in raid10_sync_request()
3148 bio = r10_bio->devs[0].bio; in raid10_sync_request()
3155 from_addr = r10_bio->devs[j].addr; in raid10_sync_request()
3163 if (r10_bio->devs[k].devnum == i) in raid10_sync_request()
3166 to_addr = r10_bio->devs[k].addr; in raid10_sync_request()
3167 r10_bio->devs[0].devnum = d; in raid10_sync_request()
3168 r10_bio->devs[0].addr = from_addr; in raid10_sync_request()
3169 r10_bio->devs[1].devnum = i; in raid10_sync_request()
3170 r10_bio->devs[1].addr = to_addr; in raid10_sync_request()
3173 bio = r10_bio->devs[1].bio; in raid10_sync_request()
3183 r10_bio->devs[1].bio->bi_end_io = NULL; in raid10_sync_request()
3186 bio = r10_bio->devs[1].repl_bio; in raid10_sync_request()
3215 if (r10_bio->devs[k].devnum == i) in raid10_sync_request()
3221 r10_bio->devs[k].addr, in raid10_sync_request()
3227 r10_bio->devs[k].addr, in raid10_sync_request()
3251 if (r10_bio->devs[0].bio->bi_opf & MD_FAILFAST) { in raid10_sync_request()
3258 int d = r10_bio->devs[j].devnum; in raid10_sync_request()
3265 r10_bio->devs[0].bio->bi_opf in raid10_sync_request()
3318 int d = r10_bio->devs[i].devnum; in raid10_sync_request()
3323 if (r10_bio->devs[i].repl_bio) in raid10_sync_request()
3324 r10_bio->devs[i].repl_bio->bi_end_io = NULL; in raid10_sync_request()
3326 bio = r10_bio->devs[i].bio; in raid10_sync_request()
3334 sector = r10_bio->devs[i].addr; in raid10_sync_request()
3367 bio = r10_bio->devs[i].repl_bio; in raid10_sync_request()
3370 sector = r10_bio->devs[i].addr; in raid10_sync_request()
3385 int d = r10_bio->devs[i].devnum; in raid10_sync_request()
3386 if (r10_bio->devs[i].bio->bi_end_io) in raid10_sync_request()
3389 if (r10_bio->devs[i].repl_bio && in raid10_sync_request()
3390 r10_bio->devs[i].repl_bio->bi_end_io) in raid10_sync_request()
3985 static void *raid10_takeover_raid0(struct mddev *mddev, sector_t size, int devs) in raid10_takeover_raid0() argument
3995 sector_div(size, devs); in raid10_takeover_raid0()
4538 read_bio->bi_iter.bi_sector = (r10_bio->devs[r10_bio->read_slot].addr in reshape_request()
4548 r10_bio->read_slot = r10_bio->devs[r10_bio->read_slot].devnum; in reshape_request()
4585 int d = r10_bio->devs[s/2].devnum; in reshape_request()
4589 b = r10_bio->devs[s/2].repl_bio; in reshape_request()
4592 b = r10_bio->devs[s/2].bio; in reshape_request()
4598 b->bi_iter.bi_sector = r10_bio->devs[s/2].addr + in reshape_request()
4609 pages = get_resync_pages(r10_bio->devs[0].bio)->pages; in reshape_request()
4676 int d = r10_bio->devs[s/2].devnum; in reshape_request_write()
4681 b = r10_bio->devs[s/2].repl_bio; in reshape_request_write()
4684 b = r10_bio->devs[s/2].bio; in reshape_request_write()
4742 r10b = kmalloc(struct_size(r10b, devs, conf->copies), GFP_NOIO); in handle_reshape_read_error()
4749 pages = get_resync_pages(r10_bio->devs[0].bio)->pages; in handle_reshape_read_error()
4764 int d = r10b->devs[slot].devnum; in handle_reshape_read_error()
4772 addr = r10b->devs[slot].addr + idx * PAGE_SIZE; in handle_reshape_read_error()