Fix remap handling by blktrace
Subsystems (2)
PATCH 1/1 Fix remap handling by blktrace
This patch provides more information concerning REMAP operations on block IOs. The additional information provides clearer details at the user level, and supports post-processing analysis in btt.
o Adds in partition remaps on the same device. o Fixed up the remap information in DM to be in the right order o Sent up mapped-from and mapped-to device information
Signed-off-by Alan D. Brunelle <[email protected]>
--- block/ll_rw_blk.c | 4 ++++ drivers/md/dm.c | 4 ++-- include/linux/blktrace_api.h | 3 ++- 3 files changed, 8 insertions(+), 3 deletions(-)
block/ll_rw_blk.c +4 -0
@@ -3047,6 +3047,10 @@ static inline void blk_partition_remap(struct bio *bio) bio->bi_sector += p->start_sect; bio->bi_bdev = bdev->bd_contains; + +blk_add_trace_remap (bdev_get_queue (bio->bi_bdev), bio, + bdev->bd_dev, bio->bi_sector, + bio->bi_sector - p->start_sect); } }
drivers/md/dm.c +2 -2
@@ -580,8 +580,8 @@ static void __map_bio(struct dm_target *ti, struct bio *clone,/* the bio has been remapped so dispatch it */ blk_add_trace_remap (bdev_get_queue (clone->bi_bdev), clone, - tio->io->bio->bi_bdev->bd_dev, sector, - clone->bi_sector); + tio->io->bio->bi_bdev->bd_dev, + clone->bi_sector, sector);generic_make_request (clone); }else if (r <0 || r ==DM_MAPIO_REQUEUE ) {
include/linux/blktrace_api.h +2 -1
@@ -105,7 +105,7 @@ struct blk_io_trace {*/ struct blk_io_trace_remap {__be32 device; -u32 __pad; +__be32 device_from;__be64 sector; };
@@ -272,6 +272,7 @@ static inline void blk_add_trace_remap(struct request_queue *q, struct bio *bio,return ; r.device =cpu_to_be32 (dev); + r.device_from =cpu_to_be32 (bio->bi_bdev->bd_dev); r.sector =cpu_to_be64 (to);__blk_add_trace (bt, from, bio->bi_size, bio->bi_rw,BLK_TA_REMAP , !bio_flagged (bio,BIO_UPTODATE ),sizeof (r), &r);
Quoted 7 lines · Alan D. Brunelle
This patch provides more information concerning REMAP operations on block IOs. The additional information provides clearer details at the user level, and supports post-processing analysis in btt.
Quoted 5 lines
o Adds in partition remaps on the same device. o Fixed up the remap information in DM to be in the right order o Sent up mapped-from and mapped-to device informationSigned-off-by Alan D. Brunelle <[email protected]>
Thanks (again) Alan, applied!
Signature · 1 line
Jens Axboe
Quoted 8 lines · Jens Axboe
Quoted 7 lines · Alan D. Brunelle
This patch provides more information concerning REMAP operations on block IOs. The additional information provides clearer details at the user level, and supports post-processing analysis in btt.
Quoted 7 lines
Quoted 5 lines
o Adds in partition remaps on the same device. o Fixed up the remap information in DM to be in the right order o Sent up mapped-from and mapped-to device informationSigned-off-by Alan D. Brunelle <[email protected]>Thanks (again) Alan, applied!
And it was merged over the weekend, better late than never :-)
Signature · 1 line
Jens Axboe