Honor omit_name and omit_output options in sessiond save command
[lttng-tools.git] / src / bin / lttng-sessiond / save.c
index 489446d6311dc4d8048f5f525cf91fcab1e7eaa9..7c72ff790cbae050260c80887ed1cd49ae703243 100644 (file)
@@ -708,7 +708,11 @@ int init_ust_event_from_agent_event(struct ltt_ust_event *ust_event,
 
        ust_event->enabled = agent_event->enabled;
        ust_event->attr.instrumentation = LTTNG_UST_TRACEPOINT;
-       strncpy(ust_event->attr.name, agent_event->name, LTTNG_SYMBOL_NAME_LEN);
+       if (lttng_strncpy(ust_event->attr.name, agent_event->name,
+                       LTTNG_SYMBOL_NAME_LEN)) {
+               ret = -1;
+               goto end;
+       }
        switch (agent_event->loglevel_type) {
        case LTTNG_EVENT_LOGLEVEL_ALL:
                ust_loglevel_type = LTTNG_UST_LOGLEVEL_ALL;
@@ -1852,6 +1856,7 @@ int save_session(struct ltt_session *session,
        struct config_writer *writer = NULL;
        size_t session_name_len;
        const char *provided_path;
+       bool omit_name, omit_output;
 
        assert(session);
        assert(attr);
@@ -1867,6 +1872,18 @@ int save_session(struct ltt_session *session,
                goto end;
        }
 
+       ret = lttng_save_session_attr_get_omit_name(attr);
+       if (ret < 0) {
+               goto end;
+       }
+       omit_name = !!ret;
+
+       ret = lttng_save_session_attr_get_omit_output(attr);
+       if (ret < 0) {
+               goto end;
+       }
+       omit_output = !!ret;
+
        provided_path = lttng_save_session_attr_get_output_url(attr);
        if (provided_path) {
                DBG3("Save session in provided path %s", provided_path);
@@ -1959,11 +1976,13 @@ int save_session(struct ltt_session *session,
                goto end;
        }
 
-       ret = config_writer_write_element_string(writer, config_element_name,
-                       session->name);
-       if (ret) {
-               ret = LTTNG_ERR_SAVE_IO_FAIL;
-               goto end;
+       if (!omit_name) {
+               ret = config_writer_write_element_string(writer,
+                               config_element_name, session->name);
+               if (ret) {
+                       ret = LTTNG_ERR_SAVE_IO_FAIL;
+                       goto end;
+               }
        }
 
        if(session->shm_path[0] != '\0') {
@@ -2019,9 +2038,11 @@ int save_session(struct ltt_session *session,
                }
        }
 
-       ret = save_session_output(writer, session);
-       if (ret) {
-               goto end;
+       if (!omit_output) {
+               ret = save_session_output(writer, session);
+               if (ret) {
+                       goto end;
+               }
        }
 
        /* /session */
This page took 0.028679 seconds and 5 git commands to generate.