Commit b992b40d authored by Ming Lei's avatar Ming Lei Committed by Mike Snitzer
Browse files

dm: don't pass bio to __dm_start_io_acct and dm_end_io_acct



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: default avatarMing Lei <ming.lei@redhat.com>
Signed-off-by: default avatarMike Snitzer <snitzer@kernel.org>
parent bdb34759
Loading
Loading
Loading
Loading
+8 −11
Original line number Diff line number Diff line
@@ -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();