diff options
Diffstat (limited to 'drivers/md/dm-table.c')
-rw-r--r-- | drivers/md/dm-table.c | 38 |
1 files changed, 20 insertions, 18 deletions
diff --git a/drivers/md/dm-table.c b/drivers/md/dm-table.c index 429b50b975d5..e9a73bb242b0 100644 --- a/drivers/md/dm-table.c +++ b/drivers/md/dm-table.c | |||
@@ -108,7 +108,8 @@ static void combine_restrictions_low(struct io_restrictions *lhs, | |||
108 | lhs->max_hw_segments = | 108 | lhs->max_hw_segments = |
109 | min_not_zero(lhs->max_hw_segments, rhs->max_hw_segments); | 109 | min_not_zero(lhs->max_hw_segments, rhs->max_hw_segments); |
110 | 110 | ||
111 | lhs->hardsect_size = max(lhs->hardsect_size, rhs->hardsect_size); | 111 | lhs->logical_block_size = max(lhs->logical_block_size, |
112 | rhs->logical_block_size); | ||
112 | 113 | ||
113 | lhs->max_segment_size = | 114 | lhs->max_segment_size = |
114 | min_not_zero(lhs->max_segment_size, rhs->max_segment_size); | 115 | min_not_zero(lhs->max_segment_size, rhs->max_segment_size); |
@@ -509,7 +510,7 @@ void dm_set_device_limits(struct dm_target *ti, struct block_device *bdev) | |||
509 | * combine_restrictions_low() | 510 | * combine_restrictions_low() |
510 | */ | 511 | */ |
511 | rs->max_sectors = | 512 | rs->max_sectors = |
512 | min_not_zero(rs->max_sectors, q->max_sectors); | 513 | min_not_zero(rs->max_sectors, queue_max_sectors(q)); |
513 | 514 | ||
514 | /* | 515 | /* |
515 | * Check if merge fn is supported. | 516 | * Check if merge fn is supported. |
@@ -524,24 +525,25 @@ void dm_set_device_limits(struct dm_target *ti, struct block_device *bdev) | |||
524 | 525 | ||
525 | rs->max_phys_segments = | 526 | rs->max_phys_segments = |
526 | min_not_zero(rs->max_phys_segments, | 527 | min_not_zero(rs->max_phys_segments, |
527 | q->max_phys_segments); | 528 | queue_max_phys_segments(q)); |
528 | 529 | ||
529 | rs->max_hw_segments = | 530 | rs->max_hw_segments = |
530 | min_not_zero(rs->max_hw_segments, q->max_hw_segments); | 531 | min_not_zero(rs->max_hw_segments, queue_max_hw_segments(q)); |
531 | 532 | ||
532 | rs->hardsect_size = max(rs->hardsect_size, q->hardsect_size); | 533 | rs->logical_block_size = max(rs->logical_block_size, |
534 | queue_logical_block_size(q)); | ||
533 | 535 | ||
534 | rs->max_segment_size = | 536 | rs->max_segment_size = |
535 | min_not_zero(rs->max_segment_size, q->max_segment_size); | 537 | min_not_zero(rs->max_segment_size, queue_max_segment_size(q)); |
536 | 538 | ||
537 | rs->max_hw_sectors = | 539 | rs->max_hw_sectors = |
538 | min_not_zero(rs->max_hw_sectors, q->max_hw_sectors); | 540 | min_not_zero(rs->max_hw_sectors, queue_max_hw_sectors(q)); |
539 | 541 | ||
540 | rs->seg_boundary_mask = | 542 | rs->seg_boundary_mask = |
541 | min_not_zero(rs->seg_boundary_mask, | 543 | min_not_zero(rs->seg_boundary_mask, |
542 | q->seg_boundary_mask); | 544 | queue_segment_boundary(q)); |
543 | 545 | ||
544 | rs->bounce_pfn = min_not_zero(rs->bounce_pfn, q->bounce_pfn); | 546 | rs->bounce_pfn = min_not_zero(rs->bounce_pfn, queue_bounce_pfn(q)); |
545 | 547 | ||
546 | rs->no_cluster |= !test_bit(QUEUE_FLAG_CLUSTER, &q->queue_flags); | 548 | rs->no_cluster |= !test_bit(QUEUE_FLAG_CLUSTER, &q->queue_flags); |
547 | } | 549 | } |
@@ -683,8 +685,8 @@ static void check_for_valid_limits(struct io_restrictions *rs) | |||
683 | rs->max_phys_segments = MAX_PHYS_SEGMENTS; | 685 | rs->max_phys_segments = MAX_PHYS_SEGMENTS; |
684 | if (!rs->max_hw_segments) | 686 | if (!rs->max_hw_segments) |
685 | rs->max_hw_segments = MAX_HW_SEGMENTS; | 687 | rs->max_hw_segments = MAX_HW_SEGMENTS; |
686 | if (!rs->hardsect_size) | 688 | if (!rs->logical_block_size) |
687 | rs->hardsect_size = 1 << SECTOR_SHIFT; | 689 | rs->logical_block_size = 1 << SECTOR_SHIFT; |
688 | if (!rs->max_segment_size) | 690 | if (!rs->max_segment_size) |
689 | rs->max_segment_size = MAX_SEGMENT_SIZE; | 691 | rs->max_segment_size = MAX_SEGMENT_SIZE; |
690 | if (!rs->seg_boundary_mask) | 692 | if (!rs->seg_boundary_mask) |
@@ -912,13 +914,13 @@ void dm_table_set_restrictions(struct dm_table *t, struct request_queue *q) | |||
912 | * restrictions. | 914 | * restrictions. |
913 | */ | 915 | */ |
914 | blk_queue_max_sectors(q, t->limits.max_sectors); | 916 | blk_queue_max_sectors(q, t->limits.max_sectors); |
915 | q->max_phys_segments = t->limits.max_phys_segments; | 917 | blk_queue_max_phys_segments(q, t->limits.max_phys_segments); |
916 | q->max_hw_segments = t->limits.max_hw_segments; | 918 | blk_queue_max_hw_segments(q, t->limits.max_hw_segments); |
917 | q->hardsect_size = t->limits.hardsect_size; | 919 | blk_queue_logical_block_size(q, t->limits.logical_block_size); |
918 | q->max_segment_size = t->limits.max_segment_size; | 920 | blk_queue_max_segment_size(q, t->limits.max_segment_size); |
919 | q->max_hw_sectors = t->limits.max_hw_sectors; | 921 | blk_queue_max_hw_sectors(q, t->limits.max_hw_sectors); |
920 | q->seg_boundary_mask = t->limits.seg_boundary_mask; | 922 | blk_queue_segment_boundary(q, t->limits.seg_boundary_mask); |
921 | q->bounce_pfn = t->limits.bounce_pfn; | 923 | blk_queue_bounce_limit(q, t->limits.bounce_pfn); |
922 | 924 | ||
923 | if (t->limits.no_cluster) | 925 | if (t->limits.no_cluster) |
924 | queue_flag_clear_unlocked(QUEUE_FLAG_CLUSTER, q); | 926 | queue_flag_clear_unlocked(QUEUE_FLAG_CLUSTER, q); |