Messages in this thread Patch in this message | | | Date | Tue, 19 May 2009 08:31:23 GMT | From | tip-bot for Stefan Raspl <> | Subject | [tip:tracing/core] blktrace: remove debugfs entries on bad path |
| |
Commit-ID: fd51d251e4cdb21f68e9dbc4336514d64a105a79 Gitweb: http://git.kernel.org/tip/fd51d251e4cdb21f68e9dbc4336514d64a105a79 Author: Stefan Raspl <raspl@linux.vnet.ibm.com> AuthorDate: Tue, 19 May 2009 09:59:08 +0200 Committer: Ingo Molnar <mingo@elte.hu> CommitDate: Tue, 19 May 2009 10:29:21 +0200
blktrace: remove debugfs entries on bad path
debugfs directory entries for devices are not removed on some of the failure pathes in do_blk_trace_setup(). One way to reproduce is to start blktrace on multiple devices with insufficient Vmalloc space: Devices will fail with a message like this:
BLKTRACESETUP(2) /dev/sdu failed: 5/Input/output error
If so, the respective entries in debugfs (e.g. /sys/kernel/debug/block/sdu) will remain and subsequent attempts to start blktrace on the respective devices will not succeed due to existing directories.
[ Impact: fix /debug/tracing file cleanup corner case ]
Signed-off-by: Stefan Raspl <stefan.raspl@linux.vnet.ibm.com> Acked-by: Li Zefan <lizf@cn.fujitsu.com> Cc: Li Zefan <lizf@cn.fujitsu.com> Cc: schwidefsky@de.ibm.com Cc: heiko.carstens@de.ibm.com LKML-Reference: <4A1266CC.5040801@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
--- kernel/trace/blktrace.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/kernel/trace/blktrace.c b/kernel/trace/blktrace.c index 05b4747..e3abf55 100644 --- a/kernel/trace/blktrace.c +++ b/kernel/trace/blktrace.c @@ -262,6 +262,7 @@ static void blk_trace_free(struct blk_trace *bt) { debugfs_remove(bt->msg_file); debugfs_remove(bt->dropped_file); + debugfs_remove(bt->dir); relay_close(bt->rchan); free_percpu(bt->sequence); free_percpu(bt->msg_data);
| |