summaryrefslogtreecommitdiff
path: root/drivers/md
diff options
context:
space:
mode:
authorMike Snitzer <snitzer@redhat.com>2022-03-08 17:15:19 -0500
committerMike Snitzer <snitzer@redhat.com>2022-03-10 13:44:43 -0500
commit0a8e9599b91db84b25e4f13e89ed9b5cc3c2d15f (patch)
tree11af4892e9c416e0b2edf7ea6ae03b911ec229c8 /drivers/md
parentb99fdcdc36369d2a3a26bf44736d420eb629d8b7 (diff)
dm: add WARN_ON_ONCE to dm_submit_bio_remap
If a target uses dm_submit_bio_remap() it should set ti->accounts_remapped_io. Also, switch dm_start_io_acct() WARN_ON to WARN_ON_ONCE. Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Diffstat (limited to 'drivers/md')
-rw-r--r--drivers/md/dm.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/md/dm.c b/drivers/md/dm.c
index d9111e17f0fc..1c5c9036a20e 100644
--- a/drivers/md/dm.c
+++ b/drivers/md/dm.c
@@ -541,7 +541,7 @@ static void dm_start_io_acct(struct dm_io *io, struct bio *clone)
* Expect no possibility for race unless is_duplicate_bio.
*/
if (!clone || likely(!clone_to_tio(clone)->is_duplicate_bio)) {
- if (WARN_ON(io->was_accounted))
+ if (WARN_ON_ONCE(io->was_accounted))
return;
io->was_accounted = 1;
} else if (xchg(&io->was_accounted, 1) == 1)
@@ -1202,6 +1202,8 @@ void dm_submit_bio_remap(struct bio *clone, struct bio *tgt_clone,
struct dm_target_io *tio = clone_to_tio(clone);
struct dm_io *io = tio->io;
+ WARN_ON_ONCE(!tio->ti->accounts_remapped_io);
+
/* establish bio that will get submitted */
if (!tgt_clone)
tgt_clone = clone;