dm: properly fix redundant bio-based IO accounting
authorMike Snitzer <snitzer@redhat.com>
Fri, 28 Jan 2022 15:58:41 +0000 (10:58 -0500)
committerJens Axboe <axboe@kernel.dk>
Fri, 28 Jan 2022 19:28:15 +0000 (12:28 -0700)
commitb879f915bc48a18d4f4462729192435bb0f17052
treea6872f00546c3ee5ae32a73dadc02712a7c27b65
parentf524d9c95fab54783d0038f7a3e8c014d5b56857
dm: properly fix redundant bio-based IO accounting

Record the start_time for a bio but defer the starting block core's IO
accounting until after IO is submitted using bio_start_io_acct_time().

This approach avoids the need to mess around with any of the
individual IO stats in response to a bio_split() that follows bio
submission.

Reported-by: Bud Brown <bubrown@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Cc: stable@vger.kernel.org
Depends-on: e45c47d1f94e ("block: add bio_start_io_acct_time() to control start_time")
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Link: https://lore.kernel.org/r/20220128155841.39644-4-snitzer@redhat.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/md/dm.c