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