From 8b4c6690e4f6202dbdbb807536303ba2d988604f Mon Sep 17 00:00:00 2001 From: NeilBrown Date: Wed, 27 Jul 2011 11:00:36 +1000 Subject: [PATCH] --- yaml --- r: 260980 b: refs/heads/master c: 86c374ba9f6726a79a032ede741dc66d219b166e h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/md/raid5.c | 9 ++++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index 8a8df1490eb1..29df1563807a 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: cc94015a9eac5d511fe9b716624d8fdf9c6e64b2 +refs/heads/master: 86c374ba9f6726a79a032ede741dc66d219b166e diff --git a/trunk/drivers/md/raid5.c b/trunk/drivers/md/raid5.c index 36873cfc3291..793dd76aeae0 100644 --- a/trunk/drivers/md/raid5.c +++ b/trunk/drivers/md/raid5.c @@ -2921,8 +2921,7 @@ static void handle_parity_checks6(raid5_conf_t *conf, struct stripe_head *sh, } } -static void handle_stripe_expansion(raid5_conf_t *conf, struct stripe_head *sh, - struct stripe_head_state *r6s) +static void handle_stripe_expansion(raid5_conf_t *conf, struct stripe_head *sh) { int i; @@ -2964,7 +2963,7 @@ static void handle_stripe_expansion(raid5_conf_t *conf, struct stripe_head *sh, set_bit(R5_UPTODATE, &sh2->dev[dd_idx].flags); for (j = 0; j < conf->raid_disks; j++) if (j != sh2->pd_idx && - (!r6s || j != sh2->qd_idx) && + j != sh2->qd_idx && !test_bit(R5_Expanded, &sh2->dev[j].flags)) break; if (j == conf->raid_disks) { @@ -3249,7 +3248,7 @@ static void handle_stripe5(struct stripe_head *sh, struct stripe_head_state *s) if (s->expanding && s->locked == 0 && !test_bit(STRIPE_COMPUTE_RUN, &sh->state)) - handle_stripe_expansion(conf, sh, NULL); + handle_stripe_expansion(conf, sh); } 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) if (s->expanding && s->locked == 0 && !test_bit(STRIPE_COMPUTE_RUN, &sh->state)) - handle_stripe_expansion(conf, sh, s); + handle_stripe_expansion(conf, sh); } static void handle_stripe(struct stripe_head *sh)