|
@@ -3195,6 +3195,11 @@ static void handle_stripe_dirtying(struct r5conf *conf,
|
|
(unsigned long long)sh->sector,
|
|
(unsigned long long)sh->sector,
|
|
rcw, qread, test_bit(STRIPE_DELAYED, &sh->state));
|
|
rcw, qread, test_bit(STRIPE_DELAYED, &sh->state));
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ if (rcw > disks && rmw > disks &&
|
|
|
|
+ !test_bit(STRIPE_PREREAD_ACTIVE, &sh->state))
|
|
|
|
+ set_bit(STRIPE_DELAYED, &sh->state);
|
|
|
|
+
|
|
/* now if nothing is locked, and if we have enough data,
|
|
/* now if nothing is locked, and if we have enough data,
|
|
* we can start a write request
|
|
* we can start a write request
|
|
*/
|
|
*/
|