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>
Showing
- block/bio.c 1 addition, 2 deletionsblock/bio.c
- block/blk-merge.c 7 additions, 16 deletionsblock/blk-merge.c
- block/blk-settings.c 14 additions, 0 deletionsblock/blk-settings.c
- drivers/block/nvme-core.c 1 addition, 1 deletiondrivers/block/nvme-core.c
- drivers/md/dm-table.c 0 additions, 13 deletionsdrivers/md/dm-table.c
- include/linux/bio.h 0 additions, 9 deletionsinclude/linux/bio.h
- include/linux/blkdev.h 20 additions, 1 deletioninclude/linux/blkdev.h
Please register or sign in to comment