Don't report back error on syscalls fail for -a -k
[lttng-tools.git] / src / bin / lttng-sessiond / kernel.c
index 1aad5263e0b8ae63a75c2a9b9fb0c3a3d4db5906..39006ab2f37b508107fb468a427debb7d82bb566 100644 (file)
@@ -25,6 +25,7 @@
 
 #include <common/common.h>
 #include <common/kernel-ctl/kernel-ctl.h>
+#include <common/sessiond-comm/sessiond-comm.h>
 
 #include "kernel.h"
 #include "kern-modules.h"
@@ -195,7 +196,13 @@ int kernel_create_event(struct lttng_event *ev,
 
        ret = kernctl_create_event(channel->fd, event->event);
        if (ret < 0) {
-               if (errno != EEXIST) {
+               switch (errno) {
+               case EEXIST:
+                       break;
+               case ENOSYS:
+                       WARN("Event type not implemented");
+                       break;
+               default:
                        PERROR("create event ioctl");
                }
                ret = -errno;
@@ -290,8 +297,15 @@ int kernel_enable_event(struct ltt_kernel_event *event)
        int ret;
 
        ret = kernctl_enable(event->fd);
-       if (ret < 0 && errno != EEXIST) {
-               PERROR("enable kernel event");
+       if (ret < 0) {
+               switch (errno) {
+               case EEXIST:
+                       ret = LTTCOMM_KERN_EVENT_EXIST;
+                       break;
+               default:
+                       PERROR("enable kernel event");
+                       break;
+               }
                goto error;
        }
 
@@ -312,8 +326,15 @@ int kernel_disable_event(struct ltt_kernel_event *event)
        int ret;
 
        ret = kernctl_disable(event->fd);
-       if (ret < 0 && errno != EEXIST) {
-               PERROR("disable kernel event");
+       if (ret < 0) {
+               switch (errno) {
+               case EEXIST:
+                       ret = LTTCOMM_KERN_EVENT_EXIST;
+                       break;
+               default:
+                       PERROR("disable kernel event");
+                       break;
+               }
                goto error;
        }
 
This page took 0.023282 seconds and 4 git commands to generate.