linux/kernel/trace
Alan D. Brunelle 39cbb602b5 Remove double removal of blktrace directory
commit fd51d251e4
Author: Stefan Raspl <raspl@linux.vnet.ibm.com>
Date:   Tue May 19 09:59:08 2009 +0200

    blktrace: remove debugfs entries on bad path

added in an explicit invocation of debugfs_remove for bt->dir, in
blk_remove_buf_file_callback we are also getting the directory removed. On
occasion I am seeing memory corruption that I have bisected down to
this commit. [The testing involves a (long) series of I/O benchmarks
with blktrace invoked around the actual runs.] I believe that this
committed patch is correct, but the problem actually lies in the code
in blk_remove_buf_file_callback.

With this patch I am able to consistently get complete runs whereas
previously I could not get a single run to complete.

The first part of the patch simply moves the debugfs_remove below the
relay_close: the relay_close call will remove files under bt->dir, and
so we should not remove the directory until all the files we created
have been removed. (Note: This is not sufficient to fix the problem -
the file system code has ref counts on the directoy, so our invocation
does not cause the directory to actually be removed. Nonetheless, we
should not rely upon that feature.)

Signed-off-by: Alan D. Brunelle <alan.brunelle@hp.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2009-08-12 18:50:08 +02:00
..
blktrace.c Remove double removal of blktrace directory 2009-08-12 18:50:08 +02:00
ftrace.c tracing: only truncate ftrace files when O_TRUNC is set 2009-07-23 10:07:18 -04:00
Kconfig tracing/fastboot: Document the need of initcall_debug 2009-06-29 10:22:10 +02:00
kmemtrace.c cpumask: use new operators in kernel/trace 2009-06-15 11:36:42 -04:00
Makefile tracing/events: convert block trace points to TRACE_EVENT() 2009-06-09 12:34:23 -04:00
ring_buffer_benchmark.c ring-buffer: have benchmark test print to trace buffer 2009-06-17 17:01:09 -04:00
ring_buffer.c ring-buffer: Fix memleak in ring_buffer_free() 2009-08-07 12:46:39 -04:00
trace_boot.c
trace_branch.c
trace_clock.c
trace_event_profile.c ftrace: Fix perf-tracepoint OOPS 2009-08-06 06:26:09 +02:00
trace_event_types.h trace_export: Repair missed fields 2009-06-26 20:48:40 +02:00
trace_events_filter.c tracing/filters: Always free pred on filter_add_subsystem_pred() failure 2009-08-08 17:56:13 +02:00
trace_events.c ftrace: Fix perf-tracepoint OOPS 2009-08-06 06:26:09 +02:00
trace_export.c
trace_functions_graph.c tracing: Fix invalid function_graph entry 2009-07-28 23:17:23 +02:00
trace_functions.c tracing/function: Fix the return value of ftrace_trace_onoff_callback() 2009-07-16 23:34:32 -04:00
trace_hw_branches.c
trace_irqsoff.c
trace_mmiotrace.c
trace_nop.c
trace_output.c tracing: Fix trace_print_seq() 2009-07-02 08:51:13 +02:00
trace_output.h tracing: add protection around module events unload 2009-06-09 17:29:07 -04:00
trace_power.c
trace_printk.c tracing: show proper address for trace-printk format 2009-07-23 10:07:17 -04:00
trace_sched_switch.c
trace_sched_wakeup.c
trace_selftest_dynamic.c
trace_selftest.c
trace_stack.c trace_stack: Fix seqfile memory leak 2009-07-23 09:52:09 -04:00
trace_stat.c tracing/stat: Fix seqfile memory leak 2009-07-23 09:53:55 -04:00
trace_stat.h
trace_syscalls.c
trace_sysprof.c Merge branch 'timers-for-linus-migration' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-06-15 10:06:19 -07:00
trace_workqueue.c trace_workqueue: remove blank line between each cpu 2009-06-02 01:14:26 +02:00
trace.c perf_counter: Fix/complete ftrace event records sampling 2009-08-09 12:53:48 +02:00
trace.h perf_counter: Fix/complete ftrace event records sampling 2009-08-09 12:53:48 +02:00