]> www.infradead.org Git - users/jedix/linux-maple.git/commit
block: Replace SG_GAPS with new queue limits mask
authorKeith Busch <keith.busch@intel.com>
Thu, 1 Feb 2018 19:37:06 +0000 (11:37 -0800)
committerJack Vogel <jack.vogel@oracle.com>
Wed, 7 Feb 2018 18:06:44 +0000 (10:06 -0800)
commit000195bde805ffad8b8c9a2c39e3efee721a2ba8
tree6924662844f6605c15f4cbeee296562e5602b4ff
parent94b5662cd75dec6fe9c9b546cd21daade2085079
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: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@fb.com>
(cherry picked from commit 03100aada96f0645bbcb89aea24c01f02d0ef1fa)

Orabug: 27484719

Conflicts:
        Changes in blk_bio_segment_split() are not picked up
from 03100aada96f0645bbcb89aea24c01f02d0ef1fa as we are not
porting arbitary bio size support.

Signed-off-by: Ashok Vairavan <ashok.vairavan@oracle.com>
Reviewed-by: Kyle Fortin <kyle.fortin@oracle.com>
block/bio.c
block/blk-merge.c
block/blk-settings.c
drivers/md/dm-table.c
drivers/nvme/host/core.c
drivers/scsi/megaraid/megaraid_sas_base.c
include/linux/bio.h
include/linux/blkdev.h