From 67fc3bf349afed06cea06794beab1774499a4787 Mon Sep 17 00:00:00 2001 From: Dan Williams Date: Tue, 8 Jan 2008 15:32:53 -0800 Subject: [PATCH] --- yaml --- r: 75302 b: refs/heads/master c: 0f94e87cdeaaac9f0f9a28a5dd2a5070b87cd3e8 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/md/raid5.c | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 59954367e981..ecd40861a1d9 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 5b7741b3325d0d94c88b2ad46657a536890aaa2f +refs/heads/master: 0f94e87cdeaaac9f0f9a28a5dd2a5070b87cd3e8 diff --git a/trunk/drivers/md/raid5.c b/trunk/drivers/md/raid5.c index a5aad8cad843..e8c8157b02fc 100644 --- a/trunk/drivers/md/raid5.c +++ b/trunk/drivers/md/raid5.c @@ -2865,7 +2865,8 @@ static void handle_stripe5(struct stripe_head *sh) md_done_sync(conf->mddev, STRIPE_SECTORS, 1); } - if (s.expanding && s.locked == 0) + if (s.expanding && s.locked == 0 && + !test_bit(STRIPE_OP_COMPUTE_BLK, &sh->ops.pending)) handle_stripe_expansion(conf, sh, NULL); if (sh->ops.count) @@ -3067,7 +3068,8 @@ static void handle_stripe6(struct stripe_head *sh, struct page *tmp_page) md_done_sync(conf->mddev, STRIPE_SECTORS, 1); } - if (s.expanding && s.locked == 0) + if (s.expanding && s.locked == 0 && + !test_bit(STRIPE_OP_COMPUTE_BLK, &sh->ops.pending)) handle_stripe_expansion(conf, sh, &r6s); spin_unlock(&sh->lock);