b125130b22
blktrace: avoid accessing NULL bdev->bd_disk
...
bdev->bd_disk can be NULL, if the block device is not opened.
Try this against an unmounted partition, and you'll see NULL dereference:
# echo 1 > /sys/block/sda/sda5/enable
Signed-off-by: Li Zefan <lizf@cn.fujitsu.com >
Acked-by: Frederic Weisbecker <fweisbec@gmail.com >
Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: Jens Axboe <jens.axboe@oracle.com >
Cc: Steven Rostedt <rostedt@goodmis.org >
LKML-Reference: <49C30098.6080107@cn.fujitsu.com >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-03-21 16:17:24 +01:00
cd649b8bb8
blktrace: remove sysfs_blk_trace_enable_show/store()
...
sysfs_blk_trace_enable_show()/store() share most of code with
sysfs_blk_trace_attr_show()/store().
Signed-off-by: Li Zefan <lizf@cn.fujitsu.com >
Acked-by: Frederic Weisbecker <fweisbec@gmail.com >
Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: Jens Axboe <jens.axboe@oracle.com >
Cc: Steven Rostedt <rostedt@goodmis.org >
LKML-Reference: <49C30EA3.1060004@cn.fujitsu.com >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-03-21 16:17:08 +01:00
15152e448b
blktrace: report EBUSY correctly
...
blk_trace_remove_queue() returns EINVAL if q->blk_trace == NULL,
but blk_trace_setup_queue() doesn't return EBUSY if
q->blk_trace != NULL.
# echo 0 > sdaX/trace/enable
# echo 0 > sdaX/trace/enable
bash: echo: write error: Invalid argument
# echo 1 > sdaX/trace/enable
# echo 1 > sdaX/trace/enable
(should return EBUSY)
Signed-off-by: Li Zefan <lizf@cn.fujitsu.com >
Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com >
Acked-by: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Jens Axboe <jens.axboe@oracle.com >
Cc: Steven Rostedt <rostedt@goodmis.org >
LKML-Reference: <49C2F614.2010101@cn.fujitsu.com >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-03-21 16:16:54 +01:00
cbe28296eb
blktrace: don't increase blk_probes_ref if failed to setup blk trace
...
do_blk_trace_setup() may return EBUSY, but the current code
doesn't decrease blk_probes_ref in this case.
Signed-off-by: Li Zefan <lizf@cn.fujitsu.com >
Acked-by: Frederic Weisbecker <fweisbec@gmail.com >
Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: Jens Axboe <jens.axboe@oracle.com >
Cc: Steven Rostedt <rostedt@goodmis.org >
LKML-Reference: <49C2F5FF.80002@cn.fujitsu.com >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-03-21 16:16:37 +01:00
3c289ba7c3
blktrace: remove blk_probe_mutex
...
blk_register_tracepoints() always returns 0, so make it return void,
thus we don't need to use blk_probe_mutex to protect blk_probes_ref.
Signed-off-by: Li Zefan <lizf@cn.fujitsu.com >
Acked-by: Frederic Weisbecker <fweisbec@gmail.com >
Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: Jens Axboe <jens.axboe@oracle.com >
Cc: Steven Rostedt <rostedt@goodmis.org >
LKML-Reference: <49C2F5EA.8060606@cn.fujitsu.com >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-03-21 16:16:25 +01:00
5006ea73f3
blktrace: make blk_tracer_enabled a bool flag
...
It doesn't have to be a counter, and it can be a bool flag instead.
Signed-off-by: Li Zefan <lizf@cn.fujitsu.com >
Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: Jens Axboe <jens.axboe@oracle.com >
Cc: Steven Rostedt <rostedt@goodmis.org >
Acked-by: Frederic Weisbecker <fweisbec@gmail.com >
LKML-Reference: <49C2F5D3.8090104@cn.fujitsu.com >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-03-21 16:16:13 +01:00
1a17662ea0
blktrace: fix possible memory leak
...
When we failed to create "block" debugfs dir, we should do some
cleanups.
Signed-off-by: Li Zefan <lizf@cn.fujitsu.com >
Acked-by: Frederic Weisbecker <fweisbec@gmail.com >
Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: Jens Axboe <jens.axboe@oracle.com >
Cc: Steven Rostedt <rostedt@goodmis.org >
LKML-Reference: <49C2F5B2.8000800@cn.fujitsu.com >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-03-21 16:15:47 +01:00
4ca5308523
tracing: protect reader of cmdline output
...
Impact: fix to one cause of incorrect comm outputs in trace
The spinlock only protected the creation of a comm <=> pid pair.
But it was possible that a reader could look up a pid, and get the
wrong comm because it had no locking.
This also required changing trace_find_cmdline to copy the comm cache
and not just send back a pointer to it.
Signed-off-by: Steven Rostedt <srostedt@redhat.com >
2009-03-16 23:27:06 -04:00
e2b8b28085
Merge branch 'tip/tracing/ftrace' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace
2009-03-10 22:55:31 +01:00
ef18012b24
tracing: remove funky whitespace in the trace code
...
Impact: clean up
There existed a lot of <space><tab>'s in the tracing code. This
patch removes them.
Signed-off-by: Steven Rostedt <srostedt@redhat.com >
2009-03-10 14:13:14 -04:00
f0ef039851
Merge branch 'x86/core' into tracing/textedit
...
Conflicts:
arch/x86/Kconfig
block/blktrace.c
kernel/irq/handle.c
Semantic conflict:
kernel/trace/blktrace.c
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-03-06 16:45:01 +01:00
5fd73f8624
tracing: remove extra latency_trace method from trace structure
...
Impact: clean up
The trace and latency_trace function pointers are identical for
every tracer but the function tracer. The differences in the function
tracer are trivial (latency output puts paranthesis around parent).
This patch removes the latency_trace pointer and all prints will
now just use the trace output function pointer.
Signed-off-by: Steven Rostedt <srostedt@redhat.com >
2009-03-04 21:42:04 -05:00
72c26c9a26
Merge branch 'linus' into tracing/blktrace
...
Conflicts:
block/blktrace.c
Semantic merge:
kernel/trace/blktrace.c
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-02-19 09:00:35 +01:00
2db270a80b
tracing/blktrace: move the tracing file to kernel/trace
...
Impact: cleanup
Move blktrace.c to kernel/trace, also move its config entry.
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com >
Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com >
Acked-by: Jens Axboe <jens.axboe@oracle.com >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-02-09 10:51:02 +01:00