block: use min_not_zero in blk_queue_stack_limits
FUJITA Tomonori [Thu, 4 Dec 2008 07:56:35 +0000 (08:56 +0100)]
zero is invalid for max_phys_segments, max_hw_segments, and
max_segment_size. It's better to use use min_not_zero instead of
min. min() works though (because the commit 0e435ac makes sure that
these values are set to the default values, non zero, if a queue is
initialized properly).

With this patch, blk_queue_stack_limits does the almost same thing
that dm's combine_restrictions_low() does. I think that it's easy to
remove dm's combine_restrictions_low.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>

block/blk-settings.c

index afa55e1..59fd05d 100644 (file)
@@ -319,9 +319,9 @@ void blk_queue_stack_limits(struct request_queue *t, struct request_queue *b)
        t->max_hw_sectors = min_not_zero(t->max_hw_sectors, b->max_hw_sectors);
        t->seg_boundary_mask = min_not_zero(t->seg_boundary_mask, b->seg_boundary_mask);
 
-       t->max_phys_segments = min(t->max_phys_segments, b->max_phys_segments);
-       t->max_hw_segments = min(t->max_hw_segments, b->max_hw_segments);
-       t->max_segment_size = min(t->max_segment_size, b->max_segment_size);
+       t->max_phys_segments = min_not_zero(t->max_phys_segments, b->max_phys_segments);
+       t->max_hw_segments = min_not_zero(t->max_hw_segments, b->max_hw_segments);
+       t->max_segment_size = min_not_zero(t->max_segment_size, b->max_segment_size);
        t->hardsect_size = max(t->hardsect_size, b->hardsect_size);
        if (!t->queue_lock)
                WARN_ON_ONCE(1);