diff options
| author | Ingo Molnar <mingo@elte.hu> | 2009-08-24 12:25:44 +0200 | 
|---|---|---|
| committer | Ingo Molnar <mingo@elte.hu> | 2009-08-24 12:25:54 +0200 | 
| commit | 5f9ece02401116b29eb04396b99ea092acb75dd8 (patch) | |
| tree | e10386e2dc63c275646b4eb0bed857da7bf86c6a /kernel/trace/ftrace.c | |
| parent | 9f51e24ee8b5a1595b6a5ac0c2be278a16488e75 (diff) | |
| parent | 422bef879e84104fee6dc68ded0e371dbeb5f88e (diff) | |
| download | olio-linux-3.10-5f9ece02401116b29eb04396b99ea092acb75dd8.tar.xz olio-linux-3.10-5f9ece02401116b29eb04396b99ea092acb75dd8.zip  | |
Merge commit 'v2.6.31-rc7' into x86/cleanups
Merge reason: we were on -rc1 before - go up to -rc7
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel/trace/ftrace.c')
| -rw-r--r-- | kernel/trace/ftrace.c | 28 | 
1 files changed, 18 insertions, 10 deletions
diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c index f3716bf04df..1e1d23c2630 100644 --- a/kernel/trace/ftrace.c +++ b/kernel/trace/ftrace.c @@ -768,7 +768,7 @@ static struct tracer_stat function_stats __initdata = {  	.stat_show	= function_stat_show  }; -static void ftrace_profile_debugfs(struct dentry *d_tracer) +static __init void ftrace_profile_debugfs(struct dentry *d_tracer)  {  	struct ftrace_profile_stat *stat;  	struct dentry *entry; @@ -786,7 +786,6 @@ static void ftrace_profile_debugfs(struct dentry *d_tracer)  			 * The files created are permanent, if something happens  			 * we still do not free memory.  			 */ -			kfree(stat);  			WARN(1,  			     "Could not allocate stat file for cpu %d\n",  			     cpu); @@ -813,7 +812,7 @@ static void ftrace_profile_debugfs(struct dentry *d_tracer)  }  #else /* CONFIG_FUNCTION_PROFILER */ -static void ftrace_profile_debugfs(struct dentry *d_tracer) +static __init void ftrace_profile_debugfs(struct dentry *d_tracer)  {  }  #endif /* CONFIG_FUNCTION_PROFILER */ @@ -1663,7 +1662,7 @@ ftrace_regex_open(struct inode *inode, struct file *file, int enable)  	mutex_lock(&ftrace_regex_lock);  	if ((file->f_mode & FMODE_WRITE) && -	    !(file->f_flags & O_APPEND)) +	    (file->f_flags & O_TRUNC))  		ftrace_filter_reset(enable);  	if (file->f_mode & FMODE_READ) { @@ -2578,7 +2577,7 @@ ftrace_graph_open(struct inode *inode, struct file *file)  	mutex_lock(&graph_lock);  	if ((file->f_mode & FMODE_WRITE) && -	    !(file->f_flags & O_APPEND)) { +	    (file->f_flags & O_TRUNC)) {  		ftrace_graph_count = 0;  		memset(ftrace_graph_funcs, 0, sizeof(ftrace_graph_funcs));  	} @@ -2597,6 +2596,14 @@ ftrace_graph_open(struct inode *inode, struct file *file)  }  static int +ftrace_graph_release(struct inode *inode, struct file *file) +{ +	if (file->f_mode & FMODE_READ) +		seq_release(inode, file); +	return 0; +} + +static int  ftrace_set_func(unsigned long *array, int *idx, char *buffer)  {  	struct dyn_ftrace *rec; @@ -2725,9 +2732,10 @@ ftrace_graph_write(struct file *file, const char __user *ubuf,  }  static const struct file_operations ftrace_graph_fops = { -	.open = ftrace_graph_open, -	.read = seq_read, -	.write = ftrace_graph_write, +	.open		= ftrace_graph_open, +	.read		= seq_read, +	.write		= ftrace_graph_write, +	.release	= ftrace_graph_release,  };  #endif /* CONFIG_FUNCTION_GRAPH_TRACER */ @@ -3160,10 +3168,10 @@ ftrace_enable_sysctl(struct ctl_table *table, int write,  	ret  = proc_dointvec(table, write, file, buffer, lenp, ppos); -	if (ret || !write || (last_ftrace_enabled == ftrace_enabled)) +	if (ret || !write || (last_ftrace_enabled == !!ftrace_enabled))  		goto out; -	last_ftrace_enabled = ftrace_enabled; +	last_ftrace_enabled = !!ftrace_enabled;  	if (ftrace_enabled) {  |