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

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

parents 95316ac2 3830dbee
Loading
Loading
Loading
Loading
+0 −14
Original line number Diff line number Diff line
@@ -1638,8 +1638,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.
 */
@@ -1689,18 +1687,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);
				ret = generic_make_request(bio);
				break;