diff options
Diffstat (limited to 'kernel/trace/blktrace.c')
| -rw-r--r-- | kernel/trace/blktrace.c | 13 | 
1 files changed, 2 insertions, 11 deletions
diff --git a/kernel/trace/blktrace.c b/kernel/trace/blktrace.c index 39af8af6fc3..7a34cb563fe 100644 --- a/kernel/trace/blktrace.c +++ b/kernel/trace/blktrace.c @@ -22,6 +22,7 @@  #include <linux/init.h>  #include <linux/mutex.h>  #include <linux/debugfs.h> +#include <linux/smp_lock.h>  #include <linux/time.h>  #include <linux/uaccess.h> @@ -266,8 +267,8 @@ 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); +	debugfs_remove(bt->dir);  	free_percpu(bt->sequence);  	free_percpu(bt->msg_data);  	kfree(bt); @@ -377,18 +378,8 @@ static int blk_subbuf_start_callback(struct rchan_buf *buf, void *subbuf,  static int blk_remove_buf_file_callback(struct dentry *dentry)  { -	struct dentry *parent = dentry->d_parent;  	debugfs_remove(dentry); -	/* -	* this will fail for all but the last file, but that is ok. what we -	* care about is the top level buts->name directory going away, when -	* the last trace file is gone. Then we don't have to rmdir() that -	* manually on trace stop, so it nicely solves the issue with -	* force killing of running traces. -	*/ - -	debugfs_remove(parent);  	return 0;  }  |