git://ftp.safe.ca
/
safe
/
jmp
/
linux-2.6
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
airo: sanitize BSSListRid handling
[safe/jmp/linux-2.6]
/
drivers
/
md
/
raid5.c
diff --git
a/drivers/md/raid5.c
b/drivers/md/raid5.c
index
a5aad8c
..
e8c8157
100644
(file)
--- a/
drivers/md/raid5.c
+++ b/
drivers/md/raid5.c
@@
-2865,7
+2865,8
@@
static void handle_stripe5(struct stripe_head *sh)
md_done_sync(conf->mddev, STRIPE_SECTORS, 1);
}
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)
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);
}
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);
handle_stripe_expansion(conf, sh, &r6s);
spin_unlock(&sh->lock);