blktrace: remove debugfs entries on bad path
authorStefan Raspl <raspl@linux.vnet.ibm.com>
Tue, 19 May 2009 07:59:08 +0000 (09:59 +0200)
committerIngo Molnar <mingo@elte.hu>
Tue, 19 May 2009 08:29:21 +0000 (10:29 +0200)
commitfd51d251e4cdb21f68e9dbc4336514d64a105a79
tree478fb26aea6b7e79532f33cc5949b4fece18cdfc
parent143c145e3a475065a4be661468d0df1bd0b25f74
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