This v3 moves all bio_rewind() code to drivers/md/dm-io-rewind.c for exclussive use by DM core's dm_io requeue support via dm_io_rewind(). It was determined that block core doesn't need to expose bio_rewind() for more general use. If/when that changes we can revisit, armed with the understanding of how DM's use of bio_rewind() has faired. These changes are now staged for 5.20 inclussion via linux-dm.git Ming Lei (2): dm: add bio_rewind() API to DM core dm: add two stage requeue mechanism drivers/md/Makefile | 2 +- drivers/md/dm-core.h | 13 +++- drivers/md/dm-io-rewind.c | 166 ++++++++++++++++++++++++++++++++++++++++++++++ drivers/md/dm.c | 121 +++++++++++++++++++++++++-------- 4 files changed, 273 insertions(+), 29 deletions(-) create mode 100644 drivers/md/dm-io-rewind.c -- 2.15.0