Hello, The blktrace is used to report block device activities to user space using kernel tracepoint but it was focused to block I/O request struct. Thus bio-based devices (i.e. loop, ram, md, ...) which don't make use of the request structure could not be supported well - the tool only can detect a limited number of events such as queuing, cloning and remapping but it cannot know when the I/O activity is completed. bio_endio(), the I/O completion callback, can be used to fix this problem by adding appropriate tracepoint in it. However it was called from other paths too (normal request-based block devices and some of nested block I/O handling routines) so that we should recognize such cases to prevent duplicated reports. In this series, BIO_IN_FLIGHT flag is introduced and used for that purpose. Note that (bio-based) dm already supported completion report by adding the tracepoint into the path manually. With this patches, it will be converted to use generic mechanism. Changes from v1: * kill __bio_endio() * use BIO_IN_FLIGHT flag Any feedbacks are welcome. Thanks. Namhyung Kim (3): block: move trace_block_bio_remap() before blk_partition_remap block: introduce BIO_IN_FLIGHT flag block: don't export block_bio_complete tracepoint block/blk-core.c | 12 ++++++++---- drivers/md/dm.c | 1 - fs/bio.c | 9 +++++++++ include/linux/blk_types.h | 1 + 4 files changed, 18 insertions(+), 5 deletions(-) -- 1.7.6 -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html