Lines Matching refs:raid_disks
132 static inline int raid6_next_disk(int disk, int raid_disks) in raid6_next_disk() argument
135 return (disk < raid_disks) ? disk : 0; in raid6_next_disk()
286 else if (injournal == conf->raid_disks - conf->max_degraded) { in do_release_stripe()
512 sh->disks = previous ? conf->previous_raid_disks : conf->raid_disks; in init_stripe()
590 if (conf->raid_disks >= conf->previous_raid_disks) in raid5_calc_degraded()
594 if (conf->raid_disks == conf->previous_raid_disks) in raid5_calc_degraded()
598 for (i = 0; i < conf->raid_disks; i++) { in raid5_calc_degraded()
612 if (conf->raid_disks <= conf->previous_raid_disks) in raid5_calc_degraded()
2203 int devs = max(conf->raid_disks, conf->previous_raid_disks); in grow_stripes()
2430 for (i=conf->raid_disks; i < newsize; i++) in resize_stripes()
2698 conf->raid_disks - mddev->degraded); in raid5_error()
2720 int raid_disks = previous ? conf->previous_raid_disks in raid5_compute_sector() local
2721 : conf->raid_disks; in raid5_compute_sector()
2722 int data_disks = raid_disks - conf->max_degraded; in raid5_compute_sector()
2749 pd_idx = data_disks - sector_div(stripe2, raid_disks); in raid5_compute_sector()
2754 pd_idx = sector_div(stripe2, raid_disks); in raid5_compute_sector()
2759 pd_idx = data_disks - sector_div(stripe2, raid_disks); in raid5_compute_sector()
2760 *dd_idx = (pd_idx + 1 + *dd_idx) % raid_disks; in raid5_compute_sector()
2763 pd_idx = sector_div(stripe2, raid_disks); in raid5_compute_sector()
2764 *dd_idx = (pd_idx + 1 + *dd_idx) % raid_disks; in raid5_compute_sector()
2781 pd_idx = raid_disks - 1 - sector_div(stripe2, raid_disks); in raid5_compute_sector()
2783 if (pd_idx == raid_disks-1) { in raid5_compute_sector()
2790 pd_idx = sector_div(stripe2, raid_disks); in raid5_compute_sector()
2792 if (pd_idx == raid_disks-1) { in raid5_compute_sector()
2799 pd_idx = raid_disks - 1 - sector_div(stripe2, raid_disks); in raid5_compute_sector()
2800 qd_idx = (pd_idx + 1) % raid_disks; in raid5_compute_sector()
2801 *dd_idx = (pd_idx + 2 + *dd_idx) % raid_disks; in raid5_compute_sector()
2804 pd_idx = sector_div(stripe2, raid_disks); in raid5_compute_sector()
2805 qd_idx = (pd_idx + 1) % raid_disks; in raid5_compute_sector()
2806 *dd_idx = (pd_idx + 2 + *dd_idx) % raid_disks; in raid5_compute_sector()
2823 pd_idx = sector_div(stripe2, raid_disks); in raid5_compute_sector()
2825 if (pd_idx == raid_disks-1) { in raid5_compute_sector()
2839 pd_idx = raid_disks - 1 - sector_div(stripe2, raid_disks); in raid5_compute_sector()
2841 if (pd_idx == raid_disks-1) { in raid5_compute_sector()
2851 pd_idx = raid_disks - 1 - sector_div(stripe2, raid_disks); in raid5_compute_sector()
2852 qd_idx = (pd_idx + raid_disks - 1) % raid_disks; in raid5_compute_sector()
2853 *dd_idx = (pd_idx + 1 + *dd_idx) % raid_disks; in raid5_compute_sector()
2859 pd_idx = data_disks - sector_div(stripe2, raid_disks-1); in raid5_compute_sector()
2862 qd_idx = raid_disks - 1; in raid5_compute_sector()
2866 pd_idx = sector_div(stripe2, raid_disks-1); in raid5_compute_sector()
2869 qd_idx = raid_disks - 1; in raid5_compute_sector()
2873 pd_idx = data_disks - sector_div(stripe2, raid_disks-1); in raid5_compute_sector()
2874 *dd_idx = (pd_idx + 1 + *dd_idx) % (raid_disks-1); in raid5_compute_sector()
2875 qd_idx = raid_disks - 1; in raid5_compute_sector()
2879 pd_idx = sector_div(stripe2, raid_disks-1); in raid5_compute_sector()
2880 *dd_idx = (pd_idx + 1 + *dd_idx) % (raid_disks-1); in raid5_compute_sector()
2881 qd_idx = raid_disks - 1; in raid5_compute_sector()
2887 qd_idx = raid_disks - 1; in raid5_compute_sector()
2911 int raid_disks = sh->disks; in raid5_compute_blocknr() local
2912 int data_disks = raid_disks - conf->max_degraded; in raid5_compute_blocknr()
2942 i += raid_disks; in raid5_compute_blocknr()
2962 if (sh->pd_idx == raid_disks-1) in raid5_compute_blocknr()
2969 if (sh->pd_idx == raid_disks-1) in raid5_compute_blocknr()
2974 i += raid_disks; in raid5_compute_blocknr()
2990 i += raid_disks; in raid5_compute_blocknr()
3332 int disks = previous ? conf->previous_raid_disks : conf->raid_disks; in stripe_set_idx()
3479 for (i = 0; i < conf->raid_disks; i++) { in handle_failed_sync()
4329 for (j = 0; j < conf->raid_disks; j++) in handle_stripe_expansion()
4334 if (j == conf->raid_disks) { in handle_stripe_expansion()
4895 for (i = 0; i < conf->raid_disks; i++) in handle_stripe()
4960 for (i = conf->raid_disks; i--; ) { in handle_stripe()
4970 sh->disks = conf->raid_disks; in handle_stripe()
5494 (conf->raid_disks - conf->max_degraded); in make_discard_request()
5518 for (d = 0; d < conf->raid_disks; d++) { in make_discard_request()
5532 for (d = 0; d < conf->raid_disks; d++) { in make_discard_request()
5544 d < conf->raid_disks - conf->max_degraded; in make_discard_request()
5737 static sector_t raid5_size(struct mddev *mddev, sector_t sectors, int raid_disks);
5754 int raid_disks = conf->previous_raid_disks; in reshape_request() local
5755 int data_disks = raid_disks - conf->max_degraded; in reshape_request()
5756 int new_data_disks = conf->raid_disks - conf->max_degraded; in reshape_request()
6083 for (i = 0; i < conf->raid_disks; i++) { in raid5_sync_request()
6711 raid5_size(struct mddev *mddev, sector_t sectors, int raid_disks) in raid5_size() argument
6717 if (!raid_disks) in raid5_size()
6719 raid_disks = min(conf->raid_disks, conf->previous_raid_disks); in raid5_size()
6723 return sectors * (raid_disks - conf->max_degraded); in raid5_size()
6740 percpu->scribble = scribble_alloc(max(conf->raid_disks, in alloc_scratch_buffer()
6815 conf->scribble_disks = max(conf->raid_disks, in raid5_alloc_percpu()
6882 if (mddev->new_level == 6 && mddev->raid_disks < 4) { in setup_conf()
6884 mdname(mddev), mddev->raid_disks); in setup_conf()
6945 conf->raid_disks = mddev->raid_disks; in setup_conf()
6947 conf->previous_raid_disks = mddev->raid_disks; in setup_conf()
6949 conf->previous_raid_disks = mddev->raid_disks - mddev->delta_disks; in setup_conf()
6950 max_disks = max(conf->raid_disks, conf->previous_raid_disks); in setup_conf()
7072 conf->shrinker.seeks = DEFAULT_SEEKS * conf->raid_disks * 4; in setup_conf()
7101 static int only_parity(int raid_disk, int algo, int raid_disks, int max_degraded) in only_parity() argument
7109 if (raid_disk >= raid_disks - max_degraded) in only_parity()
7114 raid_disk == raid_disks - 1) in only_parity()
7121 if (raid_disk == raid_disks - 1) in only_parity()
7204 old_disks = mddev->raid_disks - mddev->delta_disks; in raid5_run()
7214 new_data_disks = mddev->raid_disks - max_degraded; in raid5_run()
7292 for (i = 0; i < conf->raid_disks && conf->previous_raid_disks; in raid5_run()
7331 conf->raid_disks, in raid5_run()
7350 mdname(mddev), mddev->degraded, conf->raid_disks); in raid5_run()
7375 mddev->raid_disks-mddev->degraded, mddev->raid_disks, in raid5_run()
7415 (conf->raid_disks - conf->max_degraded)); in raid5_run()
7494 seq_printf (seq, " [%d/%d] [", conf->raid_disks, conf->raid_disks - mddev->degraded); in raid5_status()
7496 for (i = 0; i < conf->raid_disks; i++) { in raid5_status()
7515 conf->raid_disks, in print_raid5_conf()
7516 conf->raid_disks - conf->mddev->degraded); in print_raid5_conf()
7518 for (i = 0; i < conf->raid_disks; i++) { in print_raid5_conf()
7536 for (i = 0; i < conf->raid_disks; i++) { in raid5_spare_active()
7602 if (number >= conf->raid_disks && in raid5_remove_disk()
7618 number < conf->raid_disks) { in raid5_remove_disk()
7663 int last = conf->raid_disks - 1; in raid5_add_disk()
7743 newsize = raid5_size(mddev, sectors, mddev->raid_disks); in raid5_resize()
7808 if (mddev->raid_disks + mddev->delta_disks < min) in check_reshape()
7863 if (raid5_size(mddev, 0, conf->raid_disks + mddev->delta_disks) in raid5_start_reshape()
7873 conf->previous_raid_disks = conf->raid_disks; in raid5_start_reshape()
7874 conf->raid_disks += mddev->delta_disks; in raid5_start_reshape()
7934 mddev->raid_disks = conf->raid_disks; in raid5_start_reshape()
7949 mddev->raid_disks = conf->raid_disks = conf->previous_raid_disks; in raid5_start_reshape()
7979 conf->previous_raid_disks = conf->raid_disks; in end_reshape()
7996 int data_disks = conf->raid_disks - conf->max_degraded; in end_reshape()
8019 for (d = conf->raid_disks ; in raid5_finish_reshape()
8020 d < conf->raid_disks - mddev->delta_disks; in raid5_finish_reshape()
8088 mddev->raid_disks += 1; in raid45_takeover_raid0()
8101 if (mddev->raid_disks != 2 || in raid5_takeover_raid1()
8157 mddev->raid_disks -= 1; in raid5_takeover_raid6()
8185 if (mddev->raid_disks == 2) { in raid5_check_reshape()
8275 if (mddev->raid_disks > 253) in raid6_takeover()
8277 if (mddev->raid_disks < 3) in raid6_takeover()
8305 mddev->raid_disks += 1; in raid6_takeover()