]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - include/linux/device-mapper.h
dm: allocate requests in target when stacking on blk-mq devices
[karo-tx-linux.git] / include / linux / device-mapper.h
index 19296fba58e8ac3d8fd1e58321a99e01da32d79f..2646aed1d3fedad16a773eaa366edad3ab44bad5 100644 (file)
@@ -48,6 +48,11 @@ typedef void (*dm_dtr_fn) (struct dm_target *ti);
 typedef int (*dm_map_fn) (struct dm_target *ti, struct bio *bio);
 typedef int (*dm_map_request_fn) (struct dm_target *ti, struct request *clone,
                                  union map_info *map_context);
+typedef int (*dm_clone_and_map_request_fn) (struct dm_target *ti,
+                                           struct request *rq,
+                                           union map_info *map_context,
+                                           struct request **clone);
+typedef void (*dm_release_clone_request_fn) (struct request *clone);
 
 /*
  * Returns:
@@ -143,6 +148,8 @@ struct target_type {
        dm_dtr_fn dtr;
        dm_map_fn map;
        dm_map_request_fn map_rq;
+       dm_clone_and_map_request_fn clone_and_map_rq;
+       dm_release_clone_request_fn release_clone_rq;
        dm_endio_fn end_io;
        dm_request_endio_fn rq_end_io;
        dm_presuspend_fn presuspend;