dm: always defer request allocation to the owner of the request_queue
authorChristoph Hellwig <hch@lst.de>
Sun, 22 Jan 2017 17:32:46 +0000 (18:32 +0100)
committerJens Axboe <axboe@fb.com>
Fri, 27 Jan 2017 22:08:35 +0000 (15:08 -0700)
commiteb8db831be80692bf4bda3dfc55001daf64ec299
tree632bf3e0d7d7d793e59f61d6f3f9ab38dadc5523
parent4bf58435fae39ec2ea01a2ff9934d377add234b1
dm: always defer request allocation to the owner of the request_queue

DM already calls blk_mq_alloc_request on the request_queue of the
underlying device if it is a blk-mq device.  But now that we allow drivers
to allocate additional data and initialize it ahead of time we need to do
the same for all drivers.   Doing so and using the new cmd_size
infrastructure in the block layer greatly simplifies the dm-rq and mpath
code, and should also make arbitrary combinations of SQ and MQ devices
with SQ or MQ device mapper tables easily possible as a further step.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Hannes Reinecke <hare@suse.com>
Reviewed-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
drivers/md/dm-core.h
drivers/md/dm-mpath.c
drivers/md/dm-rq.c
drivers/md/dm-rq.h
drivers/md/dm-target.c
drivers/md/dm.c
drivers/md/dm.h
include/linux/device-mapper.h