Unverified Commit ea5b0315 authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!5518 dm: revert partial fix for redundant bio-based IO accounting

parents 11b27b93 edd256bb
Loading
Loading
Loading
Loading
+0 −15
Original line number Diff line number Diff line
@@ -1610,9 +1610,6 @@ static void init_clone_info(struct clone_info *ci, struct mapped_device *md,
	ci->sector = bio->bi_iter.bi_sector;
}

#define __dm_part_stat_sub(part, field, subnd)	\
	(part_stat_get(part, field) -= (subnd))

/*
 * Entry point to split a bio into clones and submit them to the targets.
 */
@@ -1650,18 +1647,6 @@ static blk_qc_t __split_and_process_bio(struct mapped_device *md,
							  GFP_NOIO, &md->queue->bio_split);
				ci.io->orig_bio = b;

				/*
				 * Adjust IO stats for each split, otherwise upon queue
				 * reentry there will be redundant IO accounting.
				 * NOTE: this is a stop-gap fix, a proper fix involves
				 * significant refactoring of DM core's bio splitting
				 * (by eliminating DM's splitting and just using bio_split)
				 */
				part_stat_lock();
				__dm_part_stat_sub(&dm_disk(md)->part0,
						   sectors[op_stat_group(bio_op(bio))], ci.sector_count);
				part_stat_unlock();

				bio_chain(b, bio);
				trace_block_split(md->queue, b, bio->bi_iter.bi_sector);
				ret = submit_bio_noacct(bio);