Re: [PATCH 2/3] perf tools: Open perf.data with O_CLOEXEC flag

2017-09-08 Thread Arnaldo Carvalho de Melo
Em Fri, Sep 08, 2017 at 10:46:20AM +0200, Jiri Olsa escreveu:
> Do not carry the perf.data file descriptor into
> the workload process and close it when perf
> executes the workload.

Fails in some systems with:

util/data.c: In function 'open_file_write':
util/data.c:99: error: 'O_CLOEXEC' undeclared (first use in this function)
util/data.c:99: error: (Each undeclared identifier is reported only once
util/data.c:99: error: for each function it appears in.)
mv: cannot stat `/tmp/build/perf/util/.data.o.tmp': No such file or directory

just FYI, I'll get this fixed.

Thanks,

- Arnaldo
 
> Link: http://lkml.kernel.org/n/tip-j7qdp4ucreain1cqvy485...@git.kernel.org
> Signed-off-by: Jiri Olsa 
> ---
>  tools/perf/util/data.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/tools/perf/util/data.c b/tools/perf/util/data.c
> index e84bbc8ec058..6b9d3ec2c276 100644
> --- a/tools/perf/util/data.c
> +++ b/tools/perf/util/data.c
> @@ -96,7 +96,8 @@ static int open_file_write(struct perf_data_file *file)
>   if (check_backup(file))
>   return -1;
>  
> - fd = open(file->path, O_CREAT|O_RDWR|O_TRUNC, S_IRUSR|S_IWUSR);
> + fd = open(file->path, O_CREAT|O_RDWR|O_TRUNC|O_CLOEXEC,
> +   S_IRUSR|S_IWUSR);
>  
>   if (fd < 0)
>   pr_err("failed to open %s : %s\n", file->path,
> -- 
> 2.9.5


[PATCH 2/3] perf tools: Open perf.data with O_CLOEXEC flag

2017-09-08 Thread Jiri Olsa
Do not carry the perf.data file descriptor into
the workload process and close it when perf
executes the workload.

Link: http://lkml.kernel.org/n/tip-j7qdp4ucreain1cqvy485...@git.kernel.org
Signed-off-by: Jiri Olsa 
---
 tools/perf/util/data.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tools/perf/util/data.c b/tools/perf/util/data.c
index e84bbc8ec058..6b9d3ec2c276 100644
--- a/tools/perf/util/data.c
+++ b/tools/perf/util/data.c
@@ -96,7 +96,8 @@ static int open_file_write(struct perf_data_file *file)
if (check_backup(file))
return -1;
 
-   fd = open(file->path, O_CREAT|O_RDWR|O_TRUNC, S_IRUSR|S_IWUSR);
+   fd = open(file->path, O_CREAT|O_RDWR|O_TRUNC|O_CLOEXEC,
+ S_IRUSR|S_IWUSR);
 
if (fd < 0)
pr_err("failed to open %s : %s\n", file->path,
-- 
2.9.5