Support del-output with an output name
[lttng-tools.git] / src / bin / lttng-sessiond / cmd.c
index 6000d198ca2c153b5791e57f7fd4e63f75a47e02..b2faa41b114177082d49e41570f43d47384f098f 100644 (file)
@@ -2160,6 +2160,7 @@ void cmd_list_lttng_sessions(struct lttng_session *sessions, uid_t uid,
                strncpy(sessions[i].name, session->name, NAME_MAX);
                sessions[i].name[NAME_MAX - 1] = '\0';
                sessions[i].enabled = session->enabled;
+               sessions[i].snapshot_mode = session->snapshot_mode;
                i++;
        }
 }
@@ -2278,14 +2279,11 @@ int cmd_snapshot_del_output(struct ltt_session *session,
                struct lttng_snapshot_output *output)
 {
        int ret;
-       struct snapshot_output *sout;
+       struct snapshot_output *sout = NULL;
 
        assert(session);
        assert(output);
 
-       DBG("Cmd snapshot del output id %" PRIu32 " for session %s", output->id,
-                       session->name);
-
        rcu_read_lock();
 
        /*
@@ -2297,7 +2295,15 @@ int cmd_snapshot_del_output(struct ltt_session *session,
                goto error;
        }
 
-       sout = snapshot_find_output_by_id(output->id, &session->snapshot);
+       if (output->id) {
+               DBG("Cmd snapshot del output id %" PRIu32 " for session %s", output->id,
+                               session->name);
+               sout = snapshot_find_output_by_id(output->id, &session->snapshot);
+       } else if (*output->name != '\0') {
+               DBG("Cmd snapshot del output name %s for session %s", output->name,
+                               session->name);
+               sout = snapshot_find_output_by_name(output->name, &session->snapshot);
+       }
        if (!sout) {
                ret = LTTNG_ERR_INVALID;
                goto error;
This page took 0.02317 seconds and 4 git commands to generate.