Lines Matching refs:disks

194 	if (sh->qd_idx == sh->disks - 1)  in raid6_d0()
534 sh->disks = previous ? conf->previous_raid_disks : conf->raid_disks; in init_stripe()
539 for (i = sh->disks; i--; ) { in init_stripe()
595 struct md_rdev *rdev = rcu_dereference(conf->disks[i].rdev); in calc_degraded()
597 rdev = rcu_dereference(conf->disks[i].replacement); in calc_degraded()
621 struct md_rdev *rdev = rcu_dereference(conf->disks[i].rdev); in calc_degraded()
623 rdev = rcu_dereference(conf->disks[i].replacement); in calc_degraded()
723 BUG_ON(sh->overwrite_disks > (sh->disks - sh->raid_conf->max_degraded)); in is_full_stripe_write()
724 return sh->overwrite_disks == (sh->disks - sh->raid_conf->max_degraded); in is_full_stripe_write()
888 int i, disks = sh->disks; in ops_run_io() local
895 for (i = disks; i--; ) { in ops_run_io()
925 rrdev = rcu_dereference(conf->disks[i].replacement); in ops_run_io()
927 rdev = rcu_dereference(conf->disks[i].rdev); in ops_run_io()
1180 for (i = sh->disks; i--; ) { in ops_complete_biofill()
1221 for (i = sh->disks; i--; ) { in ops_run_biofill()
1281 return addr + sizeof(struct page *) * (sh->disks + 2); in to_addr_conv()
1296 int disks = sh->disks; in ops_run_compute5() local
1312 for (i = disks; i--; ) in ops_run_compute5()
1341 int disks = sh->disks; in set_syndrome_sources() local
1342 int syndrome_disks = sh->ddf_layout ? disks : (disks - 2); in set_syndrome_sources()
1347 for (i = 0; i < disks; i++) in set_syndrome_sources()
1363 i = raid6_next_disk(i, disks); in set_syndrome_sources()
1372 int disks = sh->disks; in ops_run_compute6_1() local
1412 for (i = disks; i-- ; ) { in ops_run_compute6_1()
1430 int i, count, disks = sh->disks; in ops_run_compute6_2() local
1431 int syndrome_disks = sh->ddf_layout ? disks : disks-2; in ops_run_compute6_2()
1452 for (i = 0; i < disks ; i++) in ops_run_compute6_2()
1465 i = raid6_next_disk(i, disks); in ops_run_compute6_2()
1497 for (i = disks; i-- ; ) { in ops_run_compute6_2()
1547 int disks = sh->disks; in ops_run_prexor5() local
1559 for (i = disks; i--; ) { in ops_run_prexor5()
1596 int disks = sh->disks; in ops_run_biodrain() local
1603 for (i = disks; i--; ) { in ops_run_biodrain()
1659 int disks = sh->disks; in ops_complete_reconstruct() local
1668 for (i = disks; i--; ) { in ops_complete_reconstruct()
1674 for (i = disks; i--; ) { in ops_complete_reconstruct()
1704 int disks = sh->disks; in ops_run_reconstruct5() local
1718 for (i = 0; i < sh->disks; i++) { in ops_run_reconstruct5()
1724 if (i >= sh->disks) { in ops_run_reconstruct5()
1739 for (i = disks; i--; ) { in ops_run_reconstruct5()
1746 for (i = disks; i--; ) { in ops_run_reconstruct5()
1800 for (i = 0; i < sh->disks; i++) { in ops_run_reconstruct6()
1806 if (i >= sh->disks) { in ops_run_reconstruct6()
1860 int disks = sh->disks; in ops_run_check_p() local
1877 for (i = disks; i--; ) { in ops_run_check_p()
1916 int overlap_clear = 0, i, disks = sh->disks; in raid_run_ops() local
1975 for (i = disks; i--; ) { in raid_run_ops()
2228 ndisks[i] = conf->disks[i]; in resize_stripes()
2229 kfree(conf->disks); in resize_stripes()
2230 conf->disks = ndisks; in resize_stripes()
2291 int disks = sh->disks, i; in raid5_end_read_request() local
2296 for (i=0 ; i<disks; i++) in raid5_end_read_request()
2303 if (i == disks) { in raid5_end_read_request()
2313 rdev = conf->disks[i].replacement; in raid5_end_read_request()
2315 rdev = conf->disks[i].rdev; in raid5_end_read_request()
2413 int disks = sh->disks, i; in raid5_end_write_request() local
2419 for (i = 0 ; i < disks; i++) { in raid5_end_write_request()
2421 rdev = conf->disks[i].rdev; in raid5_end_write_request()
2425 rdev = conf->disks[i].replacement; in raid5_end_write_request()
2433 rdev = conf->disks[i].rdev; in raid5_end_write_request()
2440 if (i == disks) { in raid5_end_write_request()
2739 int raid_disks = sh->disks; in raid5_compute_blocknr()
2860 int i, pd_idx = sh->pd_idx, qd_idx = sh->qd_idx, disks = sh->disks; in schedule_reconstruction() local
2866 for (i = disks; i--; ) { in schedule_reconstruction()
2892 if (s->locked + conf->max_degraded == disks) in schedule_reconstruction()
2902 for (i = disks; i--; ) { in schedule_reconstruction()
3061 int disks = previous ? conf->previous_raid_disks : conf->raid_disks; in stripe_set_idx() local
3064 stripe * (disks - conf->max_degraded) in stripe_set_idx()
3072 struct stripe_head_state *s, int disks, in handle_failed_stripe() argument
3077 for (i = disks; i--; ) { in handle_failed_stripe()
3084 rdev = rcu_dereference(conf->disks[i].rdev); in handle_failed_stripe()
3216 struct md_rdev *rdev = conf->disks[i].rdev; in handle_failed_sync()
3223 rdev = conf->disks[i].replacement; in handle_failed_sync()
3243 rdev = sh->raid_conf->disks[disk_idx].replacement; in want_replace()
3262 int disk_idx, int disks) in need_this_block() argument
3352 int disk_idx, int disks) in fetch_block() argument
3357 if (need_this_block(sh, s, disk_idx, disks)) { in fetch_block()
3364 if ((s->uptodate == disks - 1) && in fetch_block()
3386 } else if (s->uptodate == disks-2 && s->failed >= 2) { in fetch_block()
3391 for (other = disks; other--; ) { in fetch_block()
3428 int disks) in handle_stripe_fill() argument
3438 for (i = disks; i--; ) in handle_stripe_fill()
3439 if (fetch_block(sh, s, i, disks)) in handle_stripe_fill()
3452 struct stripe_head *sh, int disks, struct bio_list *return_bi) in handle_stripe_clean_event() argument
3460 for (i = disks; i--; ) in handle_stripe_clean_event()
3558 int disks) in handle_stripe_dirtying() argument
3580 } else for (i = disks; i--; ) { in handle_stripe_dirtying()
3590 rmw += 2*disks; /* cannot read it */ in handle_stripe_dirtying()
3601 rcw += 2*disks; in handle_stripe_dirtying()
3613 for (i = disks; i--; ) { in handle_stripe_dirtying()
3638 for (i = disks; i--; ) { in handle_stripe_dirtying()
3667 if (rcw > disks && rmw > disks && in handle_stripe_dirtying()
3688 struct stripe_head_state *s, int disks) in handle_parity_checks5() argument
3699 BUG_ON(s->uptodate != disks); in handle_parity_checks5()
3719 BUG_ON(s->uptodate != disks); in handle_parity_checks5()
3777 int disks) in handle_parity_checks6() argument
3844 BUG_ON(s->uptodate < disks - 1); /* We don't need Q to recover */ in handle_parity_checks6()
3949 for (i = 0; i < sh->disks; i++) in handle_stripe_expansion()
4013 int disks = sh->disks; in analyse_stripe() local
4028 for (i=disks; i--; ) { in analyse_stripe()
4072 rdev = rcu_dereference(conf->disks[i].replacement); in analyse_stripe()
4083 rdev = rcu_dereference(conf->disks[i].rdev); in analyse_stripe()
4131 conf->disks[i].rdev); in analyse_stripe()
4144 conf->disks[i].rdev); in analyse_stripe()
4153 conf->disks[i].replacement); in analyse_stripe()
4264 for (i = 0; i < sh->disks; i++) { in break_stripe_batch_list()
4281 for (i = 0; i < head_sh->disks; i++) in break_stripe_batch_list()
4297 int disks = sh->disks; in handle_stripe() local
4373 handle_failed_stripe(conf, sh, &s, disks, &s.return_bi); in handle_stripe()
4396 for (i = disks; i--; ) { in handle_stripe()
4438 handle_stripe_clean_event(conf, sh, disks, &s.return_bi); in handle_stripe()
4446 || (s.syncing && (s.uptodate + s.compute < disks)) in handle_stripe()
4449 handle_stripe_fill(sh, &s, disks); in handle_stripe()
4458 handle_stripe_dirtying(conf, sh, &s, disks); in handle_stripe()
4470 handle_parity_checks6(conf, sh, &s, disks); in handle_stripe()
4472 handle_parity_checks5(conf, sh, &s, disks); in handle_stripe()
4554 sh->disks = conf->raid_disks; in handle_stripe()
4584 for (i = disks; i--; ) { in handle_stripe()
4589 rdev = conf->disks[i].rdev; in handle_stripe()
4596 rdev = conf->disks[i].rdev; in handle_stripe()
4602 rdev = conf->disks[i].replacement; in handle_stripe()
4605 rdev = conf->disks[i].rdev; in handle_stripe()
4815 rdev = rcu_dereference(conf->disks[dd_idx].replacement); in raid5_read_one_chunk()
4818 rdev = rcu_dereference(conf->disks[dd_idx].rdev); in raid5_read_one_chunk()
5491 for (j=sh->disks; j--;) { in reshape_request()
5658 struct md_rdev *rdev = ACCESS_ONCE(conf->disks[i].rdev); in sync_request()
6359 kfree(conf->disks); in free_conf()
6537 conf->disks = kzalloc(max_disks * sizeof(struct disk_info), in setup_conf()
6539 if (!conf->disks) in setup_conf()
6574 disk = conf->disks + raid_disk; in setup_conf()
6838 rdev = conf->disks[i].rdev; in run()
6839 if (!rdev && conf->disks[i].replacement) { in run()
6841 rdev = conf->disks[i].replacement; in run()
6842 conf->disks[i].replacement = NULL; in run()
6844 conf->disks[i].rdev = rdev; in run()
6848 if (conf->disks[i].replacement && in run()
7070 conf->disks[i].rdev && in status()
7071 test_bit(In_sync, &conf->disks[i].rdev->flags) ? "U" : "_"); in status()
7091 tmp = conf->disks + i; in print_raid5_conf()
7108 tmp = conf->disks + i; in raid5_spare_active()
7148 struct disk_info *p = conf->disks + number; in raid5_remove_disk()
7240 conf->disks[rdev->saved_raid_disk].rdev == NULL) in raid5_add_disk()
7244 p = conf->disks + disk; in raid5_add_disk()
7256 p = conf->disks + disk; in raid5_add_disk()
7566 struct md_rdev *rdev = conf->disks[d].rdev; in raid5_finish_reshape()
7569 rdev = conf->disks[d].replacement; in raid5_finish_reshape()