diff options
author | Jan Kara <jack@suse.cz> | 2013-09-18 00:30:31 +0400 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2013-11-08 19:59:00 +0400 |
commit | a404d5576bbe586a1097a8bc2f32c5f22651b0aa (patch) | |
tree | 011e6b1f5862a55485a9b9b32f19001c0b65e803 /include | |
parent | 5e01dc7b26d9f24f39abace5da98ccbd6a5ceb52 (diff) | |
download | linux-a404d5576bbe586a1097a8bc2f32c5f22651b0aa.tar.xz |
blktrace: Send BLK_TN_PROCESS events to all running traces
Currently each task sends BLK_TN_PROCESS event to the first traced
device it interacts with after a new trace is started. When there are
several traced devices and the task accesses more devices, this logic
can result in BLK_TN_PROCESS being sent several times to some devices
while it is never sent to other devices. Thus blkparse doesn't display
command name when parsing some blktrace files.
Fix the problem by sending BLK_TN_PROCESS event to all traced devices
when a task interacts with any of them.
Signed-off-by: Jan Kara <jack@suse.cz>
Review-by: Jeff Moyer <jmoyer@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/blktrace_api.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/blktrace_api.h b/include/linux/blktrace_api.h index 7c2e030e72f1..a12f6ed91c84 100644 --- a/include/linux/blktrace_api.h +++ b/include/linux/blktrace_api.h @@ -5,6 +5,7 @@ #include <linux/relay.h> #include <linux/compat.h> #include <uapi/linux/blktrace_api.h> +#include <linux/list.h> #if defined(CONFIG_BLK_DEV_IO_TRACE) @@ -23,6 +24,7 @@ struct blk_trace { struct dentry *dir; struct dentry *dropped_file; struct dentry *msg_file; + struct list_head running_list; atomic_t dropped; }; |