Messages in this thread Patch in this message | | | Date | Wed, 24 Feb 2016 15:34:44 +0100 | From | Jiri Olsa <> | Subject | Re: [PATCH 22/48] perf tools: Add perf_data_file__switch() helper |
| |
On Mon, Feb 22, 2016 at 09:10:49AM +0000, Wang Nan wrote: > perf_data_file__switch() closes current output file, renames it, then > open a new one to continue record. It will be used by perf record > to split output into multiple perf.data files. > > Signed-off-by: Wang Nan <wangnan0@huawei.com> > Signed-off-by: He Kuang <hekuang@huawei.com> > Cc: Arnaldo Carvalho de Melo <acme@redhat.com> > Cc: Jiri Olsa <jolsa@kernel.org> > Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com> > Cc: Namhyung Kim <namhyung@kernel.org> > Cc: Zefan Li <lizefan@huawei.com> > Cc: pi3orama@163.com > --- > tools/perf/util/data.c | 36 ++++++++++++++++++++++++++++++++++++ > tools/perf/util/data.h | 11 ++++++++++- > 2 files changed, 46 insertions(+), 1 deletion(-) > > diff --git a/tools/perf/util/data.c b/tools/perf/util/data.c > index 1921942..bfded6a 100644 > --- a/tools/perf/util/data.c > +++ b/tools/perf/util/data.c > @@ -136,3 +136,39 @@ ssize_t perf_data_file__write(struct perf_data_file *file, > { > return writen(file->fd, buf, size); > } > + > +int perf_data_file__switch(struct perf_data_file *file, > + const char *postfix, > + size_t pos, bool at_exit) > +{ > + char *new_filepath; > + int ret; > + > + if (check_pipe(file)) > + return -EINVAL; > + if (perf_data_file__is_read(file)) > + return -EINVAL; > + > + if (asprintf(&new_filepath, "%s.%s", file->path, postfix) < 0) > + return -ENOMEM; > + > + rename(file->path, new_filepath);
should we check for rename's return value?
jirka
| |