dm: properly fix redundant bio-based IO accounting
authorMike Snitzer <snitzer@redhat.com>
Fri, 28 Jan 2022 15:58:41 +0000 (10:58 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 1 Feb 2022 16:27:03 +0000 (17:27 +0100)
commit965bc27251f0eee9bb23c06dc708015630c97d1a
tree648edd7efb7d37a63dd2a1e74ee5712b661fcc28
parent4cca3e3ef21da10eaa23410ce8ee953fa66c1f8b
dm: properly fix redundant bio-based IO accounting

commit b879f915bc48a18d4f4462729192435bb0f17052 upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/md/dm.c