diff options
author | Christoph Hellwig <hch@lst.de> | 2017-01-22 18:32:46 +0100 |
---|---|---|
committer | Jens Axboe <axboe@fb.com> | 2017-01-27 23:08:35 +0100 |
commit | eb8db831be80692bf4bda3dfc55001daf64ec299 (patch) | |
tree | 632bf3e0d7d7d793e59f61d6f3f9ab38dadc5523 /drivers/md/dm.h | |
parent | dm: remove incomplete BLOCK_PC support (diff) | |
download | linux-eb8db831be80692bf4bda3dfc55001daf64ec299.tar.xz linux-eb8db831be80692bf4bda3dfc55001daf64ec299.zip |
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>
Diffstat (limited to 'drivers/md/dm.h')
-rw-r--r-- | drivers/md/dm.h | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/md/dm.h b/drivers/md/dm.h index f0aad08b9654..f298b01f7ab3 100644 --- a/drivers/md/dm.h +++ b/drivers/md/dm.h @@ -95,8 +95,7 @@ int dm_setup_md_queue(struct mapped_device *md, struct dm_table *t); /* * To check whether the target type is request-based or not (bio-based). */ -#define dm_target_request_based(t) (((t)->type->map_rq != NULL) || \ - ((t)->type->clone_and_map_rq != NULL)) +#define dm_target_request_based(t) ((t)->type->clone_and_map_rq != NULL) /* * To check whether the target type is a hybrid (capable of being |