Adjust the relayd protocol on version check
[lttng-tools.git] / src / bin / lttng-sessiond / cmd.c
index 80834941d9c278e181d129e9959489a518c4d938..ca7e7dac17cb4e0e52e275e043b51c749d552096 100644 (file)
@@ -306,8 +306,12 @@ static int list_lttng_kernel_events(char *channel_name,
                case LTTNG_KERNEL_TRACEPOINT:
                        (*events)[i].type = LTTNG_EVENT_TRACEPOINT;
                        break;
-               case LTTNG_KERNEL_KPROBE:
                case LTTNG_KERNEL_KRETPROBE:
+                       (*events)[i].type = LTTNG_EVENT_FUNCTION;
+                       memcpy(&(*events)[i].attr.probe, &event->event->u.kprobe,
+                                       sizeof(struct lttng_kernel_kprobe));
+                       break;
+               case LTTNG_KERNEL_KPROBE:
                        (*events)[i].type = LTTNG_EVENT_PROBE;
                        memcpy(&(*events)[i].attr.probe, &event->event->u.kprobe,
                                        sizeof(struct lttng_kernel_kprobe));
@@ -476,10 +480,12 @@ error:
  */
 static int create_connect_relayd(struct consumer_output *output,
                const char *session_name, struct lttng_uri *uri,
-               struct lttcomm_sock **relayd_sock)
+               struct lttcomm_sock **relayd_sock,
+               struct ltt_session *session)
 {
        int ret;
        struct lttcomm_sock *sock;
+       uint32_t minor;
 
        /* Create socket object from URI */
        sock = lttcomm_alloc_sock_from_uri(uri);
@@ -514,11 +520,13 @@ static int create_connect_relayd(struct consumer_output *output,
 
                /* Check relayd version */
                ret = relayd_version_check(sock, RELAYD_VERSION_COMM_MAJOR,
-                               RELAYD_VERSION_COMM_MINOR);
+                               RELAYD_VERSION_COMM_MINOR, &minor);
                if (ret < 0) {
                        ret = LTTNG_ERR_RELAYD_VERSION_FAIL;
                        goto close_sock;
                }
+               session->major = RELAYD_VERSION_COMM_MAJOR;
+               session->minor = minor;
        } else if (uri->stype == LTTNG_STREAM_DATA) {
                DBG3("Creating relayd data socket from URI");
        } else {
@@ -555,7 +563,8 @@ static int send_consumer_relayd_socket(int domain, struct ltt_session *session,
        struct lttcomm_sock *sock = NULL;
 
        /* Connect to relayd and make version check if uri is the control. */
-       ret = create_connect_relayd(consumer, session->name, relayd_uri, &sock);
+       ret = create_connect_relayd(consumer, session->name, relayd_uri,
+                       &sock, session);
        if (ret != LTTNG_OK) {
                goto close_sock;
        }
This page took 0.024674 seconds and 4 git commands to generate.