diff options
-rw-r--r-- | drivers/md/raid5.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c index 36873cfc3291..793dd76aeae0 100644 --- a/drivers/md/raid5.c +++ b/drivers/md/raid5.c | |||
@@ -2921,8 +2921,7 @@ static void handle_parity_checks6(raid5_conf_t *conf, struct stripe_head *sh, | |||
2921 | } | 2921 | } |
2922 | } | 2922 | } |
2923 | 2923 | ||
2924 | static void handle_stripe_expansion(raid5_conf_t *conf, struct stripe_head *sh, | 2924 | static void handle_stripe_expansion(raid5_conf_t *conf, struct stripe_head *sh) |
2925 | struct stripe_head_state *r6s) | ||
2926 | { | 2925 | { |
2927 | int i; | 2926 | int i; |
2928 | 2927 | ||
@@ -2964,7 +2963,7 @@ static void handle_stripe_expansion(raid5_conf_t *conf, struct stripe_head *sh, | |||
2964 | set_bit(R5_UPTODATE, &sh2->dev[dd_idx].flags); | 2963 | set_bit(R5_UPTODATE, &sh2->dev[dd_idx].flags); |
2965 | for (j = 0; j < conf->raid_disks; j++) | 2964 | for (j = 0; j < conf->raid_disks; j++) |
2966 | if (j != sh2->pd_idx && | 2965 | if (j != sh2->pd_idx && |
2967 | (!r6s || j != sh2->qd_idx) && | 2966 | j != sh2->qd_idx && |
2968 | !test_bit(R5_Expanded, &sh2->dev[j].flags)) | 2967 | !test_bit(R5_Expanded, &sh2->dev[j].flags)) |
2969 | break; | 2968 | break; |
2970 | if (j == conf->raid_disks) { | 2969 | if (j == conf->raid_disks) { |
@@ -3249,7 +3248,7 @@ static void handle_stripe5(struct stripe_head *sh, struct stripe_head_state *s) | |||
3249 | 3248 | ||
3250 | if (s->expanding && s->locked == 0 && | 3249 | if (s->expanding && s->locked == 0 && |
3251 | !test_bit(STRIPE_COMPUTE_RUN, &sh->state)) | 3250 | !test_bit(STRIPE_COMPUTE_RUN, &sh->state)) |
3252 | handle_stripe_expansion(conf, sh, NULL); | 3251 | handle_stripe_expansion(conf, sh); |
3253 | } | 3252 | } |
3254 | 3253 | ||
3255 | static void handle_stripe6(struct stripe_head *sh, struct stripe_head_state *s) | 3254 | static void handle_stripe6(struct stripe_head *sh, struct stripe_head_state *s) |
@@ -3512,7 +3511,7 @@ static void handle_stripe6(struct stripe_head *sh, struct stripe_head_state *s) | |||
3512 | 3511 | ||
3513 | if (s->expanding && s->locked == 0 && | 3512 | if (s->expanding && s->locked == 0 && |
3514 | !test_bit(STRIPE_COMPUTE_RUN, &sh->state)) | 3513 | !test_bit(STRIPE_COMPUTE_RUN, &sh->state)) |
3515 | handle_stripe_expansion(conf, sh, s); | 3514 | handle_stripe_expansion(conf, sh); |
3516 | } | 3515 | } |
3517 | 3516 | ||
3518 | static void handle_stripe(struct stripe_head *sh) | 3517 | static void handle_stripe(struct stripe_head *sh) |