diff options
Diffstat (limited to 'tools/perf/util')
| -rw-r--r-- | tools/perf/util/header.c | 13 |
1 files changed, 1 insertions, 12 deletions
diff --git a/tools/perf/util/header.c b/tools/perf/util/header.c index 738d3b8d9745..93dd31573fb5 100644 --- a/tools/perf/util/header.c +++ b/tools/perf/util/header.c | |||
| @@ -2303,29 +2303,18 @@ int perf_session__write_header(struct perf_session *session, | |||
| 2303 | struct perf_file_header f_header; | 2303 | struct perf_file_header f_header; |
| 2304 | struct perf_file_attr f_attr; | 2304 | struct perf_file_attr f_attr; |
| 2305 | struct perf_header *header = &session->header; | 2305 | struct perf_header *header = &session->header; |
| 2306 | struct perf_evsel *evsel, *pair = NULL; | 2306 | struct perf_evsel *evsel; |
| 2307 | int err; | 2307 | int err; |
| 2308 | 2308 | ||
| 2309 | lseek(fd, sizeof(f_header), SEEK_SET); | 2309 | lseek(fd, sizeof(f_header), SEEK_SET); |
| 2310 | 2310 | ||
| 2311 | if (session->evlist != evlist) | ||
| 2312 | pair = perf_evlist__first(session->evlist); | ||
| 2313 | |||
| 2314 | list_for_each_entry(evsel, &evlist->entries, node) { | 2311 | list_for_each_entry(evsel, &evlist->entries, node) { |
| 2315 | evsel->id_offset = lseek(fd, 0, SEEK_CUR); | 2312 | evsel->id_offset = lseek(fd, 0, SEEK_CUR); |
| 2316 | err = do_write(fd, evsel->id, evsel->ids * sizeof(u64)); | 2313 | err = do_write(fd, evsel->id, evsel->ids * sizeof(u64)); |
| 2317 | if (err < 0) { | 2314 | if (err < 0) { |
| 2318 | out_err_write: | ||
| 2319 | pr_debug("failed to write perf header\n"); | 2315 | pr_debug("failed to write perf header\n"); |
| 2320 | return err; | 2316 | return err; |
| 2321 | } | 2317 | } |
| 2322 | if (session->evlist != evlist) { | ||
| 2323 | err = do_write(fd, pair->id, pair->ids * sizeof(u64)); | ||
| 2324 | if (err < 0) | ||
| 2325 | goto out_err_write; | ||
| 2326 | evsel->ids += pair->ids; | ||
| 2327 | pair = perf_evsel__next(pair); | ||
| 2328 | } | ||
| 2329 | } | 2318 | } |
| 2330 | 2319 | ||
| 2331 | header->attr_offset = lseek(fd, 0, SEEK_CUR); | 2320 | header->attr_offset = lseek(fd, 0, SEEK_CUR); |
