block: Replace SG_GAPS with new queue limits mask
authorKeith Busch <keith.busch@intel.com>
Wed, 19 Aug 2015 21:24:05 +0000 (14:24 -0700)
committerJens Axboe <axboe@fb.com>
Wed, 19 Aug 2015 21:26:02 +0000 (14:26 -0700)
commit03100aada96f0645bbcb89aea24c01f02d0ef1fa
treeba909d035a188206b101ae633f925e18d749f7cc
parentd2be537c3ba3568acd79cd178327b842e60d035e
block: Replace SG_GAPS with new queue limits mask

The SG_GAPS queue flag caused checks for bio vector alignment against
PAGE_SIZE, but the device may have different constraints. This patch
adds a queue limits so a driver with such constraints can set to allow
requests that would have been unnecessarily split. The new gaps check
takes the request_queue as a parameter to simplify the logic around
invoking this function.

This new limit makes the queue flag redundant, so removing it and
all usage. Device-mappers will inherit the correct settings through
blk_stack_limits().

Signed-off-by: Keith Busch <keith.busch@intel.com>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@fb.com>
block/bio.c
block/blk-merge.c
block/blk-settings.c
drivers/block/nvme-core.c
drivers/md/dm-table.c
include/linux/bio.h
include/linux/blkdev.h