aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/block/drbd/drbd_worker.c
diff options
context:
space:
mode:
authorLars Ellenberg <lars.ellenberg@linbit.com>2010-11-11 09:19:07 -0500
committerPhilipp Reisner <philipp.reisner@linbit.com>2011-03-10 05:19:11 -0500
commit1816a2b47afae838e53a177d5d166cc7be97d6b5 (patch)
tree70d4e3c8aca3ab26af6ebe84ed23b0ba4d4d67e9 /drivers/block/drbd/drbd_worker.c
parent3129b1b9aed15bbebde1b2a5719434273feb295d (diff)
drbd: properly use max_hw_sectors to limit the our bio size
To ease tracking of bios in some hash tables, we want it to not cross certain boundaries (128k, used to be 32k). We limit the maximum bio size using queue parameters. Historically some defines and variables we use there have been named max_segment_size, which was misguided. Rename them to max_bio_size, and use [blk_]queue_max_hw_sectors where appropriate. Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com> Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
Diffstat (limited to 'drivers/block/drbd/drbd_worker.c')
-rw-r--r--drivers/block/drbd/drbd_worker.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/block/drbd/drbd_worker.c b/drivers/block/drbd/drbd_worker.c
index af805efc94d7..782d87237cb4 100644
--- a/drivers/block/drbd/drbd_worker.c
+++ b/drivers/block/drbd/drbd_worker.c
@@ -524,7 +524,7 @@ int w_make_resync_request(struct drbd_conf *mdev,
524 unsigned long bit; 524 unsigned long bit;
525 sector_t sector; 525 sector_t sector;
526 const sector_t capacity = drbd_get_capacity(mdev->this_bdev); 526 const sector_t capacity = drbd_get_capacity(mdev->this_bdev);
527 int max_segment_size; 527 int max_bio_size;
528 int number, rollback_i, size; 528 int number, rollback_i, size;
529 int align, queued, sndbuf; 529 int align, queued, sndbuf;
530 int i = 0; 530 int i = 0;
@@ -559,9 +559,9 @@ int w_make_resync_request(struct drbd_conf *mdev,
559 559
560 /* starting with drbd 8.3.8, we can handle multi-bio EEs, 560 /* starting with drbd 8.3.8, we can handle multi-bio EEs,
561 * if it should be necessary */ 561 * if it should be necessary */
562 max_segment_size = 562 max_bio_size =
563 mdev->agreed_pro_version < 94 ? queue_max_segment_size(mdev->rq_queue) : 563 mdev->agreed_pro_version < 94 ? queue_max_hw_sectors(mdev->rq_queue) << 9 :
564 mdev->agreed_pro_version < 95 ? DRBD_MAX_SIZE_H80_PACKET : DRBD_MAX_SEGMENT_SIZE; 564 mdev->agreed_pro_version < 95 ? DRBD_MAX_SIZE_H80_PACKET : DRBD_MAX_BIO_SIZE;
565 565
566 number = drbd_rs_number_requests(mdev); 566 number = drbd_rs_number_requests(mdev);
567 if (number == 0) 567 if (number == 0)
@@ -605,7 +605,7 @@ next_sector:
605 goto next_sector; 605 goto next_sector;
606 } 606 }
607 607
608#if DRBD_MAX_SEGMENT_SIZE > BM_BLOCK_SIZE 608#if DRBD_MAX_BIO_SIZE > BM_BLOCK_SIZE
609 /* try to find some adjacent bits. 609 /* try to find some adjacent bits.
610 * we stop if we have already the maximum req size. 610 * we stop if we have already the maximum req size.
611 * 611 *
@@ -615,7 +615,7 @@ next_sector:
615 align = 1; 615 align = 1;
616 rollback_i = i; 616 rollback_i = i;
617 for (;;) { 617 for (;;) {
618 if (size + BM_BLOCK_SIZE > max_segment_size) 618 if (size + BM_BLOCK_SIZE > max_bio_size)
619 break; 619 break;
620 620
621 /* Be always aligned */ 621 /* Be always aligned */