For the loglevel type ALL, the value set in an event inside the session
daemon is -1 where the value received from the client is 0. For this
loglevel type, the loglevel does not matter.
This fixes the commit
c0657016bbb98e1769edbaba8c00221f964c7402 done
before version 2.0.2.
(Closes #283 #287)
Signed-off-by: David Goulet <dgoulet@efficios.com>
static int loglevel_match(struct ltt_ust_event *uevent,
enum lttng_ust_loglevel_type log_type, int loglevel)
{
+ /*
+ * For the loglevel type ALL, the loglevel is set to -1 but the event
+ * received by the session daemon is 0 which does not match the negative
+ * value in the existing event.
+ */
+ if (log_type == LTTNG_UST_LOGLEVEL_ALL) {
+ loglevel = -1;
+ }
+
if (uevent == NULL || uevent->attr.loglevel_type != log_type ||
uevent->attr.loglevel != loglevel) {
goto no_match;