Add a tracepoint in blk_zone_update_request_bio() to trace the bio sector update on ZONE APPEND completions. An example for this tracepoint is as follows: <idle>-0 [001] d.h1. 381.746444: blk_zone_update_request_bio: 259,5 ZAS 131072 () 1048832 + 256 none,0,0 [swapper/1] Reviewed-by: Damien Le Moal <dlemoal@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Chaitanya Kulkarni <kch@xxxxxxxxxx> Reviewed-by: Bart Van Assche <bvanassche@xxxxxxx> Signed-off-by: Johannes Thumshirn <johannes.thumshirn@xxxxxxx> --- block/blk-zoned.c | 3 +++ include/trace/events/block.h | 11 +++++++++++ 2 files changed, 14 insertions(+) diff --git a/block/blk-zoned.c b/block/blk-zoned.c index e79e0357d1f1..2584ffb6b022 100644 --- a/block/blk-zoned.c +++ b/block/blk-zoned.c @@ -17,6 +17,8 @@ #include <linux/refcount.h> #include <linux/mempool.h> +#include <trace/events/block.h> + #include "blk.h" #include "blk-mq-sched.h" #include "blk-mq-debugfs.h" @@ -1216,6 +1218,7 @@ void blk_zone_append_update_request_bio(struct request *rq, struct bio *bio) * lookup the zone write plug. */ bio->bi_iter.bi_sector = rq->__sector; + trace_blk_zone_append_update_request_bio(rq); } void blk_zone_write_plug_bio_endio(struct bio *bio) diff --git a/include/trace/events/block.h b/include/trace/events/block.h index d88669b3ce02..4855abdf9880 100644 --- a/include/trace/events/block.h +++ b/include/trace/events/block.h @@ -404,6 +404,17 @@ DEFINE_EVENT(block_bio, block_getrq, TP_ARGS(bio) ); +/** + * block_zone_update_request_bio - update the bio sector after a zone append + * @bio: the completed block IO operation + * + * Update the bio's bi_sector after a zone append command has been completed. + */ +DEFINE_EVENT(block_rq, blk_zone_append_update_request_bio, + TP_PROTO(struct request *rq), + TP_ARGS(rq) +); + /** * block_plug - keep operations requests in request queue * @q: request queue to plug -- 2.50.0