Skip to content

Commit 4857abf

Browse files
author
Mike Snitzer
committed
dm: simplify dm_io access in dm_split_and_process_bio
Use local variable instead of redudant access using ci.io Signed-off-by: Mike Snitzer <[email protected]>
1 parent 84b98f4 commit 4857abf

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

drivers/md/dm.c

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1565,10 +1565,12 @@ static void dm_split_and_process_bio(struct mapped_device *md,
15651565
struct dm_table *map, struct bio *bio)
15661566
{
15671567
struct clone_info ci;
1568+
struct dm_io *io;
15681569
struct bio *orig_bio = NULL;
15691570
blk_status_t error = BLK_STS_OK;
15701571

15711572
init_clone_info(&ci, md, map, bio);
1573+
io = ci.io;
15721574

15731575
if (bio->bi_opf & REQ_PREFLUSH) {
15741576
__send_empty_flush(&ci);
@@ -1577,14 +1579,14 @@ static void dm_split_and_process_bio(struct mapped_device *md,
15771579
}
15781580

15791581
error = __split_and_process_bio(&ci);
1580-
ci.io->map_task = NULL;
1582+
io->map_task = NULL;
15811583
if (error || !ci.sector_count)
15821584
goto out;
15831585

15841586
/*
15851587
* Remainder must be passed to submit_bio_noacct() so it gets handled
15861588
* *after* bios already submitted have been completely processed.
1587-
* We take a clone of the original to store in ci.io->orig_bio to be
1589+
* We take a clone of the original to store in io->orig_bio to be
15881590
* used by dm_end_io_acct() and for dm_io_complete() to use for
15891591
* completion handling.
15901592
*/
@@ -1596,9 +1598,9 @@ static void dm_split_and_process_bio(struct mapped_device *md,
15961598
out:
15971599
if (!orig_bio)
15981600
orig_bio = bio;
1599-
smp_store_release(&ci.io->orig_bio, orig_bio);
1600-
if (dm_io_flagged(ci.io, DM_IO_START_ACCT))
1601-
dm_start_io_acct(ci.io, NULL);
1601+
smp_store_release(&io->orig_bio, orig_bio);
1602+
if (dm_io_flagged(io, DM_IO_START_ACCT))
1603+
dm_start_io_acct(io, NULL);
16021604

16031605
/*
16041606
* Drop the extra reference count for non-POLLED bio, and hold one
@@ -1610,7 +1612,7 @@ static void dm_split_and_process_bio(struct mapped_device *md,
16101612
if (error || !ci.submit_as_polled)
16111613
dm_io_dec_pending(ci.io, error);
16121614
else
1613-
dm_queue_poll_io(bio, ci.io);
1615+
dm_queue_poll_io(bio, io);
16141616
}
16151617

16161618
static void dm_submit_bio(struct bio *bio)

0 commit comments

Comments
 (0)