Merge branch 'akpm' (patches from Andrew)
[linux-2.6-microblaze.git] / tools / perf / util / header.c
index 563dec7..1c7414f 100644 (file)
@@ -1284,7 +1284,7 @@ static int memory_node__read(struct memory_node *n, unsigned long idx)
 
        dir = opendir(path);
        if (!dir) {
-               pr_warning("failed: cant' open memory sysfs data\n");
+               pr_warning("failed: can't open memory sysfs data\n");
                return -1;
        }
 
@@ -3865,10 +3865,10 @@ static int perf_file_section__process(struct perf_file_section *section,
 static int perf_file_header__read_pipe(struct perf_pipe_file_header *header,
                                       struct perf_header *ph,
                                       struct perf_data* data,
-                                      bool repipe)
+                                      bool repipe, int repipe_fd)
 {
        struct feat_fd ff = {
-               .fd = STDOUT_FILENO,
+               .fd = repipe_fd,
                .ph = ph,
        };
        ssize_t ret;
@@ -3891,13 +3891,13 @@ static int perf_file_header__read_pipe(struct perf_pipe_file_header *header,
        return 0;
 }
 
-static int perf_header__read_pipe(struct perf_session *session)
+static int perf_header__read_pipe(struct perf_session *session, int repipe_fd)
 {
        struct perf_header *header = &session->header;
        struct perf_pipe_file_header f_header;
 
        if (perf_file_header__read_pipe(&f_header, header, session->data,
-                                       session->repipe) < 0) {
+                                       session->repipe, repipe_fd) < 0) {
                pr_debug("incompatible file format\n");
                return -EINVAL;
        }
@@ -3995,7 +3995,7 @@ static int evlist__prepare_tracepoint_events(struct evlist *evlist, struct tep_h
        return 0;
 }
 
-int perf_session__read_header(struct perf_session *session)
+int perf_session__read_header(struct perf_session *session, int repipe_fd)
 {
        struct perf_data *data = session->data;
        struct perf_header *header = &session->header;
@@ -4016,7 +4016,7 @@ int perf_session__read_header(struct perf_session *session)
         * We can read 'pipe' data event from regular file,
         * check for the pipe header regardless of source.
         */
-       err = perf_header__read_pipe(session);
+       err = perf_header__read_pipe(session, repipe_fd);
        if (!err || perf_data__is_pipe(data)) {
                data->is_pipe = true;
                return err;