|
@@ -2624,6 +2624,13 @@ static void handle_stripe5(struct stripe_head *sh)
|
|
|
s.expanded = test_bit(STRIPE_EXPAND_READY, &sh->state);
|
|
|
/* Now to look around and see what can be done */
|
|
|
|
|
|
+ /* clean-up completed biofill operations */
|
|
|
+ if (test_bit(STRIPE_OP_BIOFILL, &sh->ops.complete)) {
|
|
|
+ clear_bit(STRIPE_OP_BIOFILL, &sh->ops.pending);
|
|
|
+ clear_bit(STRIPE_OP_BIOFILL, &sh->ops.ack);
|
|
|
+ clear_bit(STRIPE_OP_BIOFILL, &sh->ops.complete);
|
|
|
+ }
|
|
|
+
|
|
|
rcu_read_lock();
|
|
|
for (i=disks; i--; ) {
|
|
|
mdk_rdev_t *rdev;
|
|
@@ -2897,13 +2904,6 @@ static void handle_stripe6(struct stripe_head *sh, struct page *tmp_page)
|
|
|
s.expanded = test_bit(STRIPE_EXPAND_READY, &sh->state);
|
|
|
/* Now to look around and see what can be done */
|
|
|
|
|
|
- /* clean-up completed biofill operations */
|
|
|
- if (test_bit(STRIPE_OP_BIOFILL, &sh->ops.complete)) {
|
|
|
- clear_bit(STRIPE_OP_BIOFILL, &sh->ops.pending);
|
|
|
- clear_bit(STRIPE_OP_BIOFILL, &sh->ops.ack);
|
|
|
- clear_bit(STRIPE_OP_BIOFILL, &sh->ops.complete);
|
|
|
- }
|
|
|
-
|
|
|
rcu_read_lock();
|
|
|
for (i=disks; i--; ) {
|
|
|
mdk_rdev_t *rdev;
|