dm: don't pass bio to __dm_start_io_acct and dm_end_io_acct
authorMing Lei <ming.lei@redhat.com>
Tue, 12 Apr 2022 08:56:10 +0000 (16:56 +0800)
committerMike Snitzer <snitzer@kernel.org>
Thu, 5 May 2022 21:31:35 +0000 (17:31 -0400)
dm->orig_bio is always passed to __dm_start_io_acct and dm_end_io_acct,
so it isn't necessary to take one bio parameter for the two helpers.

Signed-off-by: Ming Lei <ming.lei@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@kernel.org>
drivers/md/dm.c

index 69535e0..19d0d61 100644 (file)
@@ -531,16 +531,13 @@ static void dm_io_acct(bool end, struct mapped_device *md, struct bio *bio,
                bio->bi_iter.bi_size = bi_size;
 }
 
-static void __dm_start_io_acct(struct dm_io *io, struct bio *bio)
+static void __dm_start_io_acct(struct dm_io *io)
 {
-       dm_io_acct(false, io->md, bio, io->start_time, &io->stats_aux);
+       dm_io_acct(false, io->md, io->orig_bio, io->start_time, &io->stats_aux);
 }
 
 static void dm_start_io_acct(struct dm_io *io, struct bio *clone)
 {
-       /* Must account IO to DM device in terms of orig_bio */
-       struct bio *bio = io->orig_bio;
-
        /*
         * Ensure IO accounting is only ever started once.
         */
@@ -558,12 +555,12 @@ static void dm_start_io_acct(struct dm_io *io, struct bio *clone)
                spin_unlock_irqrestore(&io->lock, flags);
        }
 
-       __dm_start_io_acct(io, bio);
+       __dm_start_io_acct(io);
 }
 
-static void dm_end_io_acct(struct dm_io *io, struct bio *bio)
+static void dm_end_io_acct(struct dm_io *io)
 {
-       dm_io_acct(true, io->md, bio, io->start_time, &io->stats_aux);
+       dm_io_acct(true, io->md, io->orig_bio, io->start_time, &io->stats_aux);
 }
 
 static struct dm_io *alloc_io(struct mapped_device *md, struct bio *bio)
@@ -899,14 +896,14 @@ static void dm_io_complete(struct dm_io *io)
 
        io_error = io->status;
        if (dm_io_flagged(io, DM_IO_ACCOUNTED))
-               dm_end_io_acct(io, bio);
+               dm_end_io_acct(io);
        else if (!io_error) {
                /*
                 * Must handle target that DM_MAPIO_SUBMITTED only to
                 * then bio_endio() rather than dm_submit_bio_remap()
                 */
-               __dm_start_io_acct(io, bio);
-               dm_end_io_acct(io, bio);
+               __dm_start_io_acct(io);
+               dm_end_io_acct(io);
        }
        free_io(io);
        smp_wmb();