Re: [PATCH] block: trace completion of all bios.

From: NeilBrown
Date: Thu Mar 23 2017 - 03:45:08 EST


On Wed, Mar 22 2017, Christoph Hellwig wrote:

> On Wed, Mar 22, 2017 at 01:38:09PM +1100, NeilBrown wrote:
>>
>> Currently only dm and md/raid5 bios trigger trace_block_bio_complete().
>> Now that we have bio_chain(), it is not possible, in general, for a
>> driver to know when the bio is really complete. Only bio_endio()
>> knows that.
>>
>> So move the trace_block_bio_complete() call to bio_endio().
>
> This will cause duplicate events for request based drivers. You'll
> need to have a bio_endio_notrace or similar without that the request
> completion path can call.

Ah... I hadn't noticed that the request completion was the same event
type as the bio completion... Thanks. Also after being processed by the
request handler, bi_sector and bi_size have changed so the trace
messsage would be wrong.

I've sorted that out and will repost.

Thanks,
NeilBrown


Attachment: signature.asc
Description: PGP signature