dm integrity: use dm_bio_record and dm_bio_restore
authorMike Snitzer <snitzer@redhat.com>
Fri, 28 Feb 2020 23:11:53 +0000 (18:11 -0500)
committerMike Snitzer <snitzer@redhat.com>
Tue, 3 Mar 2020 15:02:47 +0000 (10:02 -0500)
commit248aa2645aa7fc9175d1107c2593cc90d4af5a4e
tree6611c9ba95e7ca32d473ece4dc1bdf16db2d9bde
parent1b17159e52bb31f982f82a6278acd7fab1d3f67b
dm integrity: use dm_bio_record and dm_bio_restore

In cases where dec_in_flight() has to requeue the integrity_bio_wait
work to transfer the rest of the data, the bio's __bi_remaining might
already have been decremented to 0, e.g.: if bio passed to underlying
data device was split via blk_queue_split().

Use dm_bio_{record,restore} rather than effectively open-coding them in
dm-integrity -- these methods now manage __bi_remaining too.

Depends-on: f7f0b057a9c1 ("dm bio record: save/restore bi_end_io and bi_integrity")
Reported-by: Daniel Glöckner <dg@emlix.com>
Suggested-by: Mikulas Patocka <mpatocka@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
drivers/md/dm-integrity.c