From: Lars Ellenberg Date: Mon, 28 Apr 2014 16:43:17 +0000 (+0200) Subject: drbd: resync: fix too large bursts for very slow rates X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=6377b9235056452cd5d592c3739baa379a8735fe;p=deliverable%2Flinux.git drbd: resync: fix too large bursts for very slow rates While merging adjacent dirty blocks into resync requests, the resync rate throttle was disregarded. For very low resync rates, the effective rate may have exceeded the intended rate by a larger margin. Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg Signed-off-by: Jens Axboe --- diff --git a/drivers/block/drbd/drbd_worker.c b/drivers/block/drbd/drbd_worker.c index 2c4ce42c3657..dcd95a61a8d0 100644 --- a/drivers/block/drbd/drbd_worker.c +++ b/drivers/block/drbd/drbd_worker.c @@ -647,7 +647,7 @@ next_sector: */ align = 1; rollback_i = i; - for (;;) { + while (i < number) { if (size + BM_BLOCK_SIZE > max_bio_size) break;