Hi, I seems DM increments stats (ios and sectors) before completion. Why don't you do this in dec_pending? block/stat.txt says these values are incremented when I/O request completes. Is this to be fixed or do you have some justifications for this behavior? static void _dm_request(struct request_queue *q, struct bio *bio) { int rw = bio_data_dir(bio); struct mapped_device *md = q->queuedata; int cpu; int srcu_idx; struct dm_table *map; map = dm_get_live_table(md, &srcu_idx); cpu = part_stat_lock(); part_stat_inc(cpu, &dm_disk(md)->part0, ios[rw]); part_stat_add(cpu, &dm_disk(md)->part0, sectors[rw], bio_sectors(bio)); part_stat_unlock(); -- Akira Hayakawa <hayakawa@xxxxxxxxxxxxx> -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel