Remove all code that depends on trace collection directory structure
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Tue, 7 Feb 2012 14:38:58 +0000 (09:38 -0500)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Tue, 7 Feb 2012 14:38:58 +0000 (09:38 -0500)
We now perform equivalent functionnality with environment within trace
metadata.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
converter/babeltrace.c
formats/bt-dummy/bt-dummy.c
formats/ctf-text/ctf-text.c
formats/ctf/ctf.c
include/babeltrace/ctf-ir/metadata.h
include/babeltrace/format.h

index 0ca1313d6746f8c71fdc9caf46584f4894a4043f..f75a7976a9523cbc2b44de83ffb0d50f6bb4d03e 100644 (file)
@@ -546,9 +546,8 @@ static int traverse_dir(const char *fpath, const struct stat *sb,
        } else {
                close(fd);
                close(dirfd);
-               td_read = fmt_read->open_trace(opt_input_path,
-                               fpath, O_RDONLY, ctf_move_pos_slow,
-                               NULL);
+               td_read = fmt_read->open_trace(fpath, O_RDONLY,
+                               ctf_move_pos_slow, NULL);
                if (!td_read) {
                        fprintf(stderr, "Error opening trace \"%s\" "
                                        "for reading.\n\n", fpath);
@@ -634,7 +633,7 @@ int main(int argc, char **argv)
                fprintf(stderr, "Error allocating a new context\n");
                goto error_td_read;
        }
-       td_write = fmt_write->open_trace(NULL, opt_output_path, O_RDWR, NULL, NULL);
+       td_write = fmt_write->open_trace(opt_output_path, O_RDWR, NULL, NULL);
        if (!td_write) {
                fprintf(stderr, "Error opening trace \"%s\" for writing.\n\n",
                        opt_output_path ? : "<none>");
index 821ee17df51ee6663044f9b52a5b73faa5fc7726..d7f75fb1a9c2f8d83fbb2866d3f21b640ab0002e 100644 (file)
@@ -39,8 +39,7 @@ int bt_dummy_write_event(struct stream_pos *ppos,
 }
 
 static
-struct trace_descriptor *bt_dummy_open_trace(const char *collection_path,
-               const char *path, int flags,
+struct trace_descriptor *bt_dummy_open_trace(const char *path, int flags,
                void (*move_pos_slow)(struct ctf_stream_pos *pos, size_t offset,
                        int whence), FILE *metadata_fp)
 {
index b7889ec0b945455402149cb6ac7cb8c5a0be25f9..81dbb3eb159ef0b423ea09696c086726ce5272f7 100644 (file)
@@ -56,8 +56,7 @@ enum field_item {
        ITEM_PAYLOAD,
 };
 
-struct trace_descriptor *ctf_text_open_trace(const char *collection_path,
-               const char *path, int flags,
+struct trace_descriptor *ctf_text_open_trace(const char *path, int flags,
                void (*move_pos_slow)(struct ctf_stream_pos *pos, size_t offset,
                        int whence), FILE *metadata_fp);
 void ctf_text_close_trace(struct trace_descriptor *descriptor);
@@ -397,8 +396,7 @@ error:
 }
 
 
-struct trace_descriptor *ctf_text_open_trace(const char *collection_path,
-               const char *path, int flags,
+struct trace_descriptor *ctf_text_open_trace(const char *path, int flags,
                void (*move_pos_slow)(struct ctf_stream_pos *pos, size_t offset,
                        int whence), FILE *metadata_fp)
 {
index ab4945dddcff18b8c41c6df91798096b4940695b..f1c0de478ba7f5cc60a1c9e0ffa99555136eab49 100644 (file)
@@ -64,7 +64,7 @@ uint64_t opt_clock_offset;
 extern int yydebug;
 
 static
-struct trace_descriptor *ctf_open_trace(const char *collection_path, const char *path, int flags,
+struct trace_descriptor *ctf_open_trace(const char *path, int flags,
                void (*move_pos_slow)(struct ctf_stream_pos *pos, size_t offset,
                        int whence), FILE *metadata_fp);
 static
@@ -1268,97 +1268,8 @@ error:
        return ret;
 }
 
-static void
-init_domain_name(struct ctf_trace *td)
-{
-       char *start, *end;
-
-       start = td->path + strlen(td->collection_path);
-       while (start[0] == '/')
-               start++;        /* skip / */
-       end = strchr(start, '/');
-       if (!end)
-               end = start + strlen(start);
-       memcpy(td->domain, start, end - start);
-       td->domain[end - start] = '\0';
-}
-
-static void
-init_proc_name(struct ctf_trace *td)
-{
-       char buf[PATH_MAX];
-       char *start, *end;
-
-       if (td->domain[0] == '\0')
-               return;
-       memcpy(buf, td->path, PATH_MAX);
-       start = buf + strlen(td->collection_path);
-       while (start[0] == '/')
-               start++;        /* skip / */
-       start = strchr(start, '/');     /* get begin of domain content */
-       if (!start)
-               return;
-       while (start[0] == '/')
-               start++;        /* skip / */
-       /* find last -, skips time */
-       end = strrchr(start, '-');
-       if (!end)
-               return;
-       *end = '\0';
-       /* find previous -, skips date */
-       end = strrchr(start, '-');
-       if (!end)
-               return;
-       *end = '\0';
-       /* find previous -, skips pid */
-       end = strrchr(start, '-');
-       if (!end)
-               return;
-       *end = '\0';
-
-       memcpy(td->procname, start, end - start);
-       td->procname[end - start] = '\0';
-}
-
-static void
-init_vpid(struct ctf_trace *td)
-{
-       char buf[PATH_MAX];
-       char *start, *end;
-
-       if (td->domain[0] == '\0')
-               return;
-       memcpy(buf, td->path, PATH_MAX);
-       start = buf + strlen(td->collection_path);
-       while (start[0] == '/')
-               start++;        /* skip / */
-       start = strchr(start, '/');     /* get begin of domain content */
-       if (!start)
-               return;
-       while (start[0] == '/')
-               start++;        /* skip / */
-       /* find last -, skips time */
-       end = strrchr(start, '-');
-       if (!end)
-               return;
-       *end = '\0';
-       /* find previous -, skips date */
-       end = strrchr(start, '-');
-       if (!end)
-               return;
-       *end = '\0';
-       /* find previous -, skips pid */
-       start = strrchr(start, '-');
-       if (!start)
-               return;
-       start++;        /* skip - */
-
-       memcpy(td->vpid, start, end - start);
-       td->vpid[end - start] = '\0';
-}
-
 static
-int ctf_open_trace_read(struct ctf_trace *td, const char *collection_path,
+int ctf_open_trace_read(struct ctf_trace *td,
                const char *path, int flags,
                void (*move_pos_slow)(struct ctf_stream_pos *pos, size_t offset,
                        int whence), FILE *metadata_fp)
@@ -1367,7 +1278,6 @@ int ctf_open_trace_read(struct ctf_trace *td, const char *collection_path,
        struct dirent *dirent;
        struct dirent *diriter;
        size_t dirent_len;
-       char *respath, *rescolpath;
 
        td->flags = flags;
 
@@ -1386,19 +1296,8 @@ int ctf_open_trace_read(struct ctf_trace *td, const char *collection_path,
                ret = -errno;
                goto error_dirfd;
        }
-       rescolpath = realpath(collection_path, td->collection_path);
-       if (!rescolpath) {
-               fprintf(stderr, "[error] collection path resolution failure\n");
-               return -EINVAL;
-       }
-       respath = realpath(path, td->path);
-       if (!respath) {
-               fprintf(stderr, "[error] path resolution failure\n");
-               return -EINVAL;
-       }
-       init_domain_name(td);
-       init_proc_name(td);
-       init_vpid(td);
+       strncpy(td->path, path, sizeof(td->path));
+       td->path[sizeof(td->path) - 1] = '\0';
 
        /*
         * Keep the metadata file separate.
@@ -1454,7 +1353,7 @@ error:
 }
 
 static
-struct trace_descriptor *ctf_open_trace(const char *collection_path, const char *path, int flags,
+struct trace_descriptor *ctf_open_trace(const char *path, int flags,
                void (*move_pos_slow)(struct ctf_stream_pos *pos, size_t offset,
                        int whence), FILE *metadata_fp)
 {
@@ -1469,7 +1368,7 @@ struct trace_descriptor *ctf_open_trace(const char *collection_path, const char
                        fprintf(stderr, "[error] Path missing for input CTF trace.\n");
                        goto error;
                }
-               ret = ctf_open_trace_read(td, collection_path, path, flags, move_pos_slow, metadata_fp);
+               ret = ctf_open_trace_read(td, path, flags, move_pos_slow, metadata_fp);
                if (ret)
                        goto error;
                break;
index 699db2eeedaf385c54487740da09914de7ee1425..d445a011c0bc2740a337e721b2e1873a190515d6 100644 (file)
@@ -158,11 +158,7 @@ struct ctf_trace {
 
        /* Heap of streams, ordered to always get the lowest timestam */
        struct ptr_heap *stream_heap;
-       char collection_path[PATH_MAX];
        char path[PATH_MAX];
-       char domain[PATH_MAX];
-       char procname[PATH_MAX];
-       char vpid[PATH_MAX];
 };
 
 #define CTF_STREAM_SET_FIELD(ctf_stream, field)                                \
index 93d1e25146495920c40537b942d556b54541391c..526ab614a2fcaa9cf83c68bbe747dc263be951a0 100644 (file)
@@ -45,8 +45,7 @@ struct mmap_stream_list {
 struct format {
        GQuark name;
 
-       struct trace_descriptor *(*open_trace)(const char *collection_path,
-                       const char *path, int flags,
+       struct trace_descriptor *(*open_trace)(const char *path, int flags,
                        void (*move_pos_slow)(struct ctf_stream_pos *pos, size_t offset,
                                int whence), FILE *metadata_fp);
        struct trace_descriptor *(*open_mmap_trace)(
This page took 0.043797 seconds and 4 git commands to generate.