On Mon, Aug 28, 2017 at 02:01:16PM +0300, Sagi Grimberg wrote: >> That being said ->make_request basically doesn't care about actual >> limits at all, it mostly care about support features (e.g. discard, fua, >> etc). So I think a lot of these limits could porbably be lifted, >> but I'd need to add the check to generic_make_request_checks back. > > Different virt_boundary capabilities will trigger bio splits which > can make make_request blocking (due to lack of tags). All the bio splitting is done in blk_queue_split, and other things related to limits are done even later in blk_mq_make_request when building the request. For normal make_request based stacking drivers nothing of this matters, although a few drivers t call blk_queue_split manually from their make_request method.