On 10/8/25 22:29, Johannes Thumshirn wrote:
I'm not sure if it makes sense to do completion tracing here. At least
we cannot do it in the endio handler as usual.
One thing to get the error and the duration would be the following:
int blkdev_zone_mgmt(struct block_device *bdev, enum req_op op,
sector_t sector, sector_t nr_sectors)
{
/* [...] */
trace_blkdev_zone_mgmt(bio, nr_sectors);
ret = submit_bio_wait(bio);
+ trace_blkdev_zone_mgmt_completion(bio, nr_sectors, bio->bi_error);
bio_put(bio);
That does seem OK to me. Maybe try and see how it looks ?
Though the request alloc, insert, dispatch and completion for this BIO will
still be traced, right ? If these events show correctly that this is a zone
management command (and which one it is), then we should not need the above.
--
Damien Le Moal
Western Digital Research