dm: simplify dm_sumbit_bio_remap interface
authorMike Snitzer <snitzer@redhat.com>
Thu, 10 Mar 2022 16:45:58 +0000 (11:45 -0500)
committerMike Snitzer <snitzer@redhat.com>
Thu, 10 Mar 2022 18:44:56 +0000 (13:44 -0500)
commitb7f8dff09827c96032c34a945ee7757e394b5952
tree1314942282a48a20d486629cc574360e0a3996ed
parenta92512819b1f2971674675edbf695b717d43629c
dm: simplify dm_sumbit_bio_remap interface

Remove the from_wq argument from dm_sumbit_bio_remap(). Eliminates the
need for dm_sumbit_bio_remap() callers to know whether they are
calling for a workqueue or from the original dm_submit_bio().

Add map_task to dm_io struct, record the map_task in alloc_io and
clear it after all target ->map() calls have completed. Update
dm_sumbit_bio_remap to check if 'current' matches io->map_task rather
than rely on passed 'from_rq' argument.

This change really simplifies the chore of porting each DM target to
using dm_sumbit_bio_remap() because there is no longer the risk of
programming error by not completely knowing all the different contexts
a particular method that calls dm_sumbit_bio_remap() might be used in.

Signed-off-by: Mike Snitzer <snitzer@redhat.com>
drivers/md/dm-core.h
drivers/md/dm-crypt.c
drivers/md/dm-delay.c
drivers/md/dm-thin.c
drivers/md/dm.c
include/linux/device-mapper.h