Lines Matching refs:disks

130 	if (sh->qd_idx == sh->disks - 1)  in raid6_d0()
236 for (i = sh->disks; i--; ) in do_release_stripe()
505 init_stripe_shared_pages(struct stripe_head *sh, struct r5conf *conf, int disks) in init_stripe_shared_pages() argument
514 nr_pages = (disks + cnt - 1) / cnt; in init_stripe_shared_pages()
595 sh->disks = previous ? conf->previous_raid_disks : conf->raid_disks; in init_stripe()
600 for (i = sh->disks; i--; ) { in init_stripe()
702 struct md_rdev *rdev = READ_ONCE(conf->disks[i].rdev); in raid5_calc_degraded()
705 rdev = READ_ONCE(conf->disks[i].replacement); in raid5_calc_degraded()
727 struct md_rdev *rdev = READ_ONCE(conf->disks[i].rdev); in raid5_calc_degraded()
730 rdev = READ_ONCE(conf->disks[i].replacement); in raid5_calc_degraded()
880 BUG_ON(sh->overwrite_disks > (sh->disks - sh->raid_conf->max_degraded)); in is_full_stripe_write()
881 return sh->overwrite_disks == (sh->disks - sh->raid_conf->max_degraded); in is_full_stripe_write()
1145 int i, disks = sh->disks; in ops_run_io() local
1158 for (i = disks; i--; ) { in ops_run_io()
1188 rdev = conf->disks[i].rdev; in ops_run_io()
1189 rrdev = conf->disks[i].replacement; in ops_run_io()
1436 for (i = sh->disks; i--; ) { in ops_complete_biofill()
1475 for (i = sh->disks; i--; ) { in ops_run_biofill()
1539 return (void *) (to_addr_page(percpu, i) + sh->disks + 2); in to_addr_conv()
1548 return (unsigned int *) (to_addr_conv(sh, percpu, 0) + sh->disks + 2); in to_addr_offs()
1554 int disks = sh->disks; in ops_run_compute5() local
1572 for (i = disks; i--; ) { in ops_run_compute5()
1608 int disks = sh->disks; in set_syndrome_sources() local
1609 int syndrome_disks = sh->ddf_layout ? disks : (disks - 2); in set_syndrome_sources()
1614 for (i = 0; i < disks; i++) in set_syndrome_sources()
1642 i = raid6_next_disk(i, disks); in set_syndrome_sources()
1651 int disks = sh->disks; in ops_run_compute6_1() local
1695 for (i = disks; i-- ; ) { in ops_run_compute6_1()
1715 int i, count, disks = sh->disks; in ops_run_compute6_2() local
1716 int syndrome_disks = sh->ddf_layout ? disks : disks-2; in ops_run_compute6_2()
1738 for (i = 0; i < disks ; i++) { in ops_run_compute6_2()
1754 i = raid6_next_disk(i, disks); in ops_run_compute6_2()
1788 for (i = disks; i-- ; ) { in ops_run_compute6_2()
1851 int disks = sh->disks; in ops_run_prexor5() local
1865 for (i = disks; i--; ) { in ops_run_prexor5()
1915 int disks = sh->disks; in ops_run_biodrain() local
1922 for (i = disks; i--; ) { in ops_run_biodrain()
1986 int disks = sh->disks; in ops_complete_reconstruct() local
1995 for (i = disks; i--; ) { in ops_complete_reconstruct()
2001 for (i = disks; i--; ) { in ops_complete_reconstruct()
2034 int disks = sh->disks; in ops_run_reconstruct5() local
2050 for (i = 0; i < sh->disks; i++) { in ops_run_reconstruct5()
2056 if (i >= sh->disks) { in ops_run_reconstruct5()
2073 for (i = disks; i--; ) { in ops_run_reconstruct5()
2084 for (i = disks; i--; ) { in ops_run_reconstruct5()
2143 for (i = 0; i < sh->disks; i++) { in ops_run_reconstruct6()
2149 if (i >= sh->disks) { in ops_run_reconstruct6()
2205 int disks = sh->disks; in ops_run_check_p() local
2226 for (i = disks; i--; ) { in ops_run_check_p()
2269 int overlap_clear = 0, i, disks = sh->disks; in raid_run_ops() local
2330 for (i = disks; i--; ) { in raid_run_ops()
2350 int disks, struct r5conf *conf) in alloc_stripe() argument
2374 if (init_stripe_shared_pages(sh, conf, disks)) { in alloc_stripe()
2616 ndisks[i] = conf->disks[i]; in resize_stripes()
2630 kfree(conf->disks); in resize_stripes()
2631 conf->disks = ndisks; in resize_stripes()
2714 int disks = sh->disks, i; in raid5_end_read_request() local
2718 for (i=0 ; i<disks; i++) in raid5_end_read_request()
2725 if (i == disks) { in raid5_end_read_request()
2735 rdev = conf->disks[i].replacement; in raid5_end_read_request()
2737 rdev = conf->disks[i].rdev; in raid5_end_read_request()
2840 int disks = sh->disks, i; in raid5_end_write_request() local
2844 for (i = 0 ; i < disks; i++) { in raid5_end_write_request()
2846 rdev = conf->disks[i].rdev; in raid5_end_write_request()
2850 rdev = conf->disks[i].replacement; in raid5_end_write_request()
2858 rdev = conf->disks[i].rdev; in raid5_end_write_request()
2865 if (i == disks) { in raid5_end_write_request()
3151 int raid_disks = sh->disks; in raid5_compute_blocknr()
3328 int i, pd_idx = sh->pd_idx, qd_idx = sh->qd_idx, disks = sh->disks; in schedule_reconstruction() local
3341 for (i = disks; i--; ) { in schedule_reconstruction()
3370 if (s->locked + conf->max_degraded == disks) in schedule_reconstruction()
3380 for (i = disks; i--; ) { in schedule_reconstruction()
3474 for (i = 0; i < sh->disks; i++) { in stripe_bio_overlaps()
3576 int disks = previous ? conf->previous_raid_disks : conf->raid_disks; in stripe_set_idx() local
3579 stripe * (disks - conf->max_degraded) in stripe_set_idx()
3587 struct stripe_head_state *s, int disks) in handle_failed_stripe() argument
3591 for (i = disks; i--; ) { in handle_failed_stripe()
3595 struct md_rdev *rdev = conf->disks[i].rdev; in handle_failed_stripe()
3709 struct md_rdev *rdev = conf->disks[i].rdev; in handle_failed_sync()
3717 rdev = conf->disks[i].replacement; in handle_failed_sync()
3738 rdev = sh->raid_conf->disks[disk_idx].replacement; in want_replace()
3749 int disk_idx, int disks) in need_this_block() argument
3861 int disk_idx, int disks) in fetch_block() argument
3866 if (need_this_block(sh, s, disk_idx, disks)) { in fetch_block()
3883 if ((s->uptodate == disks - 1) && in fetch_block()
3906 } else if (s->uptodate == disks-2 && s->failed >= 2) { in fetch_block()
3911 for (other = disks; other--; ) { in fetch_block()
3950 int disks) in handle_stripe_fill() argument
3974 for (i = disks; i--; ) in handle_stripe_fill()
3975 if (fetch_block(sh, s, i, disks)) in handle_stripe_fill()
3990 struct stripe_head *sh, int disks) in handle_stripe_clean_event() argument
3998 for (i = disks; i--; ) in handle_stripe_clean_event()
4104 int disks) in handle_stripe_dirtying() argument
4133 } else for (i = disks; i--; ) { in handle_stripe_dirtying()
4145 rmw += 2*disks; /* cannot read it */ in handle_stripe_dirtying()
4156 rcw += 2*disks; in handle_stripe_dirtying()
4168 for (i = disks; i--; ) { in handle_stripe_dirtying()
4198 for (i = disks; i--; ) { in handle_stripe_dirtying()
4223 for (i = disks; i--; ) { in handle_stripe_dirtying()
4251 if (rcw > disks && rmw > disks && in handle_stripe_dirtying()
4273 struct stripe_head_state *s, int disks) in handle_parity_checks5() argument
4284 BUG_ON(s->uptodate != disks); in handle_parity_checks5()
4304 BUG_ON(s->uptodate != disks); in handle_parity_checks5()
4366 int disks) in handle_parity_checks6() argument
4550 for (i = 0; i < sh->disks; i++) in handle_stripe_expansion()
4602 int disks = sh->disks; in analyse_stripe() local
4616 for (i=disks; i--; ) { in analyse_stripe()
4658 rdev = conf->disks[i].replacement; in analyse_stripe()
4669 rdev = conf->disks[i].rdev; in analyse_stripe()
4726 struct md_rdev *rdev2 = conf->disks[i].rdev; in analyse_stripe()
4739 struct md_rdev *rdev2 = conf->disks[i].rdev; in analyse_stripe()
4748 struct md_rdev *rdev2 = conf->disks[i].replacement; in analyse_stripe()
4770 rdev = conf->disks[i].replacement; in analyse_stripe()
4871 for (i = 0; i < sh->disks; i++) { in break_stripe_batch_list()
4885 for (i = 0; i < head_sh->disks; i++) in break_stripe_batch_list()
4910 int disks = sh->disks; in handle_stripe() local
5003 handle_failed_stripe(conf, sh, &s, disks); in handle_stripe()
5026 for (i = disks; i--; ) { in handle_stripe()
5069 handle_stripe_clean_event(conf, sh, disks); in handle_stripe()
5072 r5c_handle_cached_data_endio(conf, sh, disks); in handle_stripe()
5081 || (s.syncing && (s.uptodate + s.compute < disks)) in handle_stripe()
5084 handle_stripe_fill(sh, &s, disks); in handle_stripe()
5105 handle_stripe_dirtying(conf, sh, &s, disks); in handle_stripe()
5112 disks); in handle_stripe()
5125 disks); in handle_stripe()
5142 handle_parity_checks6(conf, sh, &s, disks); in handle_stripe()
5144 handle_parity_checks5(conf, sh, &s, disks); in handle_stripe()
5225 sh->disks = conf->raid_disks; in handle_stripe()
5255 for (i = disks; i--; ) { in handle_stripe()
5260 rdev = conf->disks[i].rdev; in handle_stripe()
5266 rdev = conf->disks[i].rdev; in handle_stripe()
5272 rdev = conf->disks[i].replacement; in handle_stripe()
5275 rdev = conf->disks[i].rdev; in handle_stripe()
5437 rdev = conf->disks[dd_idx].replacement; in raid5_read_one_chunk()
5440 rdev = conf->disks[dd_idx].rdev; in raid5_read_one_chunk()
5793 for (dd_idx = 0; dd_idx < sh->disks; dd_idx++) { in stripe_ahead_of_reshape()
5821 for (dd_idx = 0; dd_idx < sh->disks; dd_idx++) { in add_all_stripe_bios()
5846 for (dd_idx = 0; dd_idx < sh->disks; dd_idx++) { in add_all_stripe_bios()
6411 for (j=sh->disks; j--;) { in reshape_request()
6590 struct md_rdev *rdev = conf->disks[i].rdev; in raid5_sync_request()
7393 if (conf->disks[i].extra_page) in free_conf()
7394 put_page(conf->disks[i].extra_page); in free_conf()
7395 kfree(conf->disks); in free_conf()
7569 conf->disks = kzalloc_objs(struct disk_info, max_disks); in setup_conf()
7571 if (!conf->disks) in setup_conf()
7575 conf->disks[i].extra_page = alloc_page(GFP_KERNEL); in setup_conf()
7576 if (!conf->disks[i].extra_page) in setup_conf()
7626 disk = conf->disks + raid_disk; in setup_conf()
8001 rdev = conf->disks[i].rdev; in raid5_run()
8004 if (conf->disks[i].replacement && in raid5_run()
8139 struct md_rdev *rdev = READ_ONCE(conf->disks[i].rdev); in raid5_status()
8161 rdev = conf->disks[i].rdev; in print_raid5_conf()
8178 rdev = conf->disks[i].rdev; in raid5_spare_active()
8179 replacement = conf->disks[i].replacement; in raid5_spare_active()
8240 p = conf->disks + number; in raid5_remove_disk()
8335 conf->disks[rdev->saved_raid_disk].rdev == NULL) in raid5_add_disk()
8339 p = conf->disks + disk; in raid5_add_disk()
8353 p = conf->disks + disk; in raid5_add_disk()
8499 if (conf->disks[i].replacement) in raid5_start_reshape()
8649 rdev = conf->disks[d].rdev; in raid5_finish_reshape()
8652 rdev = conf->disks[d].replacement; in raid5_finish_reshape()