Lines Matching refs:disks
127 if (sh->qd_idx == sh->disks - 1) in raid6_d0()
231 for (i = sh->disks; i--; ) in do_release_stripe()
512 sh->disks = previous ? conf->previous_raid_disks : conf->raid_disks; in init_stripe()
517 for (i = sh->disks; i--; ) { in init_stripe()
573 struct md_rdev *rdev = rcu_dereference(conf->disks[i].rdev); in raid5_calc_degraded()
575 rdev = rcu_dereference(conf->disks[i].replacement); in raid5_calc_degraded()
599 struct md_rdev *rdev = rcu_dereference(conf->disks[i].rdev); in raid5_calc_degraded()
601 rdev = rcu_dereference(conf->disks[i].replacement); in raid5_calc_degraded()
710 BUG_ON(sh->overwrite_disks > (sh->disks - sh->raid_conf->max_degraded)); in is_full_stripe_write()
711 return sh->overwrite_disks == (sh->disks - sh->raid_conf->max_degraded); in is_full_stripe_write()
987 int i, disks = sh->disks; in ops_run_io() local
999 for (i = disks; i--; ) { in ops_run_io()
1028 rrdev = rcu_dereference(conf->disks[i].replacement); in ops_run_io()
1030 rdev = rcu_dereference(conf->disks[i].rdev); in ops_run_io()
1305 for (i = sh->disks; i--; ) { in ops_complete_biofill()
1343 for (i = sh->disks; i--; ) { in ops_run_biofill()
1403 return addr + sizeof(struct page *) * (sh->disks + 2); in to_addr_conv()
1418 int disks = sh->disks; in ops_run_compute5() local
1434 for (i = disks; i--; ) in ops_run_compute5()
1463 int disks = sh->disks; in set_syndrome_sources() local
1464 int syndrome_disks = sh->ddf_layout ? disks : (disks - 2); in set_syndrome_sources()
1469 for (i = 0; i < disks; i++) in set_syndrome_sources()
1491 i = raid6_next_disk(i, disks); in set_syndrome_sources()
1500 int disks = sh->disks; in ops_run_compute6_1() local
1540 for (i = disks; i-- ; ) { in ops_run_compute6_1()
1558 int i, count, disks = sh->disks; in ops_run_compute6_2() local
1559 int syndrome_disks = sh->ddf_layout ? disks : disks-2; in ops_run_compute6_2()
1580 for (i = 0; i < disks ; i++) in ops_run_compute6_2()
1593 i = raid6_next_disk(i, disks); in ops_run_compute6_2()
1625 for (i = disks; i-- ; ) { in ops_run_compute6_2()
1682 int disks = sh->disks; in ops_run_prexor5() local
1694 for (i = disks; i--; ) { in ops_run_prexor5()
1734 int disks = sh->disks; in ops_run_biodrain() local
1741 for (i = disks; i--; ) { in ops_run_biodrain()
1804 int disks = sh->disks; in ops_complete_reconstruct() local
1813 for (i = disks; i--; ) { in ops_complete_reconstruct()
1819 for (i = disks; i--; ) { in ops_complete_reconstruct()
1852 int disks = sh->disks; in ops_run_reconstruct5() local
1866 for (i = 0; i < sh->disks; i++) { in ops_run_reconstruct5()
1872 if (i >= sh->disks) { in ops_run_reconstruct5()
1887 for (i = disks; i--; ) { in ops_run_reconstruct5()
1895 for (i = disks; i--; ) { in ops_run_reconstruct5()
1949 for (i = 0; i < sh->disks; i++) { in ops_run_reconstruct6()
1955 if (i >= sh->disks) { in ops_run_reconstruct6()
2009 int disks = sh->disks; in ops_run_check_p() local
2026 for (i = disks; i--; ) { in ops_run_check_p()
2065 int overlap_clear = 0, i, disks = sh->disks; in raid_run_ops() local
2127 for (i = disks; i--; ) { in raid_run_ops()
2143 int disks, struct r5conf *conf) in alloc_stripe() argument
2159 for (i = 0; i < disks; i++) { in alloc_stripe()
2400 ndisks[i] = conf->disks[i]; in resize_stripes()
2414 kfree(conf->disks); in resize_stripes()
2415 conf->disks = ndisks; in resize_stripes()
2479 int disks = sh->disks, i; in raid5_end_read_request() local
2484 for (i=0 ; i<disks; i++) in raid5_end_read_request()
2491 if (i == disks) { in raid5_end_read_request()
2502 rdev = conf->disks[i].replacement; in raid5_end_read_request()
2504 rdev = conf->disks[i].rdev; in raid5_end_read_request()
2601 int disks = sh->disks, i; in raid5_end_write_request() local
2607 for (i = 0 ; i < disks; i++) { in raid5_end_write_request()
2609 rdev = conf->disks[i].rdev; in raid5_end_write_request()
2613 rdev = conf->disks[i].replacement; in raid5_end_write_request()
2621 rdev = conf->disks[i].rdev; in raid5_end_write_request()
2628 if (i == disks) { in raid5_end_write_request()
2911 int raid_disks = sh->disks; in raid5_compute_blocknr()
3088 int i, pd_idx = sh->pd_idx, qd_idx = sh->qd_idx, disks = sh->disks; in schedule_reconstruction() local
3101 for (i = disks; i--; ) { in schedule_reconstruction()
3130 if (s->locked + conf->max_degraded == disks) in schedule_reconstruction()
3140 for (i = disks; i--; ) { in schedule_reconstruction()
3242 for (i = 0; i < sh->disks; i++) { in add_stripe_bio()
3332 int disks = previous ? conf->previous_raid_disks : conf->raid_disks; in stripe_set_idx() local
3335 stripe * (disks - conf->max_degraded) in stripe_set_idx()
3343 struct stripe_head_state *s, int disks) in handle_failed_stripe() argument
3347 for (i = disks; i--; ) { in handle_failed_stripe()
3354 rdev = rcu_dereference(conf->disks[i].rdev); in handle_failed_stripe()
3480 struct md_rdev *rdev = rcu_dereference(conf->disks[i].rdev); in handle_failed_sync()
3487 rdev = rcu_dereference(conf->disks[i].replacement); in handle_failed_sync()
3509 rdev = rcu_dereference(sh->raid_conf->disks[disk_idx].replacement); in want_replace()
3521 int disk_idx, int disks) in need_this_block() argument
3617 int disk_idx, int disks) in fetch_block() argument
3622 if (need_this_block(sh, s, disk_idx, disks)) { in fetch_block()
3639 if ((s->uptodate == disks - 1) && in fetch_block()
3662 } else if (s->uptodate == disks-2 && s->failed >= 2) { in fetch_block()
3667 for (other = disks; other--; ) { in fetch_block()
3704 int disks) in handle_stripe_fill() argument
3728 for (i = disks; i--; ) in handle_stripe_fill()
3729 if (fetch_block(sh, s, i, disks)) in handle_stripe_fill()
3744 struct stripe_head *sh, int disks) in handle_stripe_clean_event() argument
3752 for (i = disks; i--; ) in handle_stripe_clean_event()
3861 int disks) in handle_stripe_dirtying() argument
3883 } else for (i = disks; i--; ) { in handle_stripe_dirtying()
3895 rmw += 2*disks; /* cannot read it */ in handle_stripe_dirtying()
3906 rcw += 2*disks; in handle_stripe_dirtying()
3919 for (i = disks; i--; ) { in handle_stripe_dirtying()
3949 for (i = disks; i--; ) { in handle_stripe_dirtying()
3976 for (i = disks; i--; ) { in handle_stripe_dirtying()
4005 if (rcw > disks && rmw > disks && in handle_stripe_dirtying()
4027 struct stripe_head_state *s, int disks) in handle_parity_checks5() argument
4038 BUG_ON(s->uptodate != disks); in handle_parity_checks5()
4058 BUG_ON(s->uptodate != disks); in handle_parity_checks5()
4121 int disks) in handle_parity_checks6() argument
4188 BUG_ON(s->uptodate < disks - 1); /* We don't need Q to recover */ in handle_parity_checks6()
4298 for (i = 0; i < sh->disks; i++) in handle_stripe_expansion()
4362 int disks = sh->disks; in analyse_stripe() local
4377 for (i=disks; i--; ) { in analyse_stripe()
4421 rdev = rcu_dereference(conf->disks[i].replacement); in analyse_stripe()
4432 rdev = rcu_dereference(conf->disks[i].rdev); in analyse_stripe()
4480 conf->disks[i].rdev); in analyse_stripe()
4493 conf->disks[i].rdev); in analyse_stripe()
4502 conf->disks[i].replacement); in analyse_stripe()
4524 conf->disks[i].replacement); in analyse_stripe()
4630 for (i = 0; i < sh->disks; i++) { in break_stripe_batch_list()
4644 for (i = 0; i < head_sh->disks; i++) in break_stripe_batch_list()
4660 int disks = sh->disks; in handle_stripe() local
4747 handle_failed_stripe(conf, sh, &s, disks); in handle_stripe()
4770 for (i = disks; i--; ) { in handle_stripe()
4813 handle_stripe_clean_event(conf, sh, disks); in handle_stripe()
4816 r5c_handle_cached_data_endio(conf, sh, disks); in handle_stripe()
4825 || (s.syncing && (s.uptodate + s.compute < disks)) in handle_stripe()
4828 handle_stripe_fill(sh, &s, disks); in handle_stripe()
4849 handle_stripe_dirtying(conf, sh, &s, disks); in handle_stripe()
4856 disks); in handle_stripe()
4869 disks); in handle_stripe()
4886 handle_parity_checks6(conf, sh, &s, disks); in handle_stripe()
4888 handle_parity_checks5(conf, sh, &s, disks); in handle_stripe()
4970 sh->disks = conf->raid_disks; in handle_stripe()
5000 for (i = disks; i--; ) { in handle_stripe()
5005 rdev = conf->disks[i].rdev; in handle_stripe()
5012 rdev = conf->disks[i].rdev; in handle_stripe()
5018 rdev = conf->disks[i].replacement; in handle_stripe()
5021 rdev = conf->disks[i].rdev; in handle_stripe()
5223 rdev = rcu_dereference(conf->disks[dd_idx].replacement); in raid5_read_one_chunk()
5226 rdev = rcu_dereference(conf->disks[dd_idx].rdev); in raid5_read_one_chunk()
5908 for (j=sh->disks; j--;) { in reshape_request()
6084 struct md_rdev *rdev = READ_ONCE(conf->disks[i].rdev); in raid5_sync_request()
6783 if (conf->disks[i].extra_page) in free_conf()
6784 put_page(conf->disks[i].extra_page); in free_conf()
6785 kfree(conf->disks); in free_conf()
6952 conf->disks = kcalloc(max_disks, sizeof(struct disk_info), in setup_conf()
6955 if (!conf->disks) in setup_conf()
6959 conf->disks[i].extra_page = alloc_page(GFP_KERNEL); in setup_conf()
6960 if (!conf->disks[i].extra_page) in setup_conf()
7006 disk = conf->disks + raid_disk; in setup_conf()
7294 rdev = conf->disks[i].rdev; in raid5_run()
7295 if (!rdev && conf->disks[i].replacement) { in raid5_run()
7297 rdev = conf->disks[i].replacement; in raid5_run()
7298 conf->disks[i].replacement = NULL; in raid5_run()
7300 conf->disks[i].rdev = rdev; in raid5_run()
7304 if (conf->disks[i].replacement && in raid5_run()
7497 struct md_rdev *rdev = rcu_dereference(conf->disks[i].rdev); in raid5_status()
7520 tmp = conf->disks + i; in print_raid5_conf()
7537 tmp = conf->disks + i; in raid5_spare_active()
7577 struct disk_info *p = conf->disks + number; in raid5_remove_disk()
7693 conf->disks[rdev->saved_raid_disk].rdev == NULL) in raid5_add_disk()
7697 p = conf->disks + disk; in raid5_add_disk()
7711 p = conf->disks + disk; in raid5_add_disk()
8022 struct md_rdev *rdev = conf->disks[d].rdev; in raid5_finish_reshape()
8025 rdev = conf->disks[d].replacement; in raid5_finish_reshape()