event.filter = (unsigned char) !!kevent->filter_expression;
switch (kevent->event->instrumentation) {
- case LTTNG_KERNEL_TRACEPOINT:
+ case LTTNG_KERNEL_ABI_TRACEPOINT:
event.type = LTTNG_EVENT_TRACEPOINT;
break;
- case LTTNG_KERNEL_KRETPROBE:
+ case LTTNG_KERNEL_ABI_KRETPROBE:
event.type = LTTNG_EVENT_FUNCTION;
memcpy(&event.attr.probe, &kevent->event->u.kprobe,
- sizeof(struct lttng_kernel_kprobe));
+ sizeof(struct lttng_kernel_abi_kprobe));
break;
- case LTTNG_KERNEL_KPROBE:
+ case LTTNG_KERNEL_ABI_KPROBE:
event.type = LTTNG_EVENT_PROBE;
memcpy(&event.attr.probe, &kevent->event->u.kprobe,
- sizeof(struct lttng_kernel_kprobe));
+ sizeof(struct lttng_kernel_abi_kprobe));
break;
- case LTTNG_KERNEL_UPROBE:
+ case LTTNG_KERNEL_ABI_UPROBE:
event.type = LTTNG_EVENT_USERSPACE_PROBE;
break;
- case LTTNG_KERNEL_FUNCTION:
+ case LTTNG_KERNEL_ABI_FUNCTION:
event.type = LTTNG_EVENT_FUNCTION;
memcpy(&event.attr.ftrace, &kevent->event->u.ftrace,
- sizeof(struct lttng_kernel_function));
+ sizeof(struct lttng_kernel_abi_function));
break;
- case LTTNG_KERNEL_NOOP:
+ case LTTNG_KERNEL_ABI_NOOP:
event.type = LTTNG_EVENT_NOOP;
break;
- case LTTNG_KERNEL_SYSCALL:
+ case LTTNG_KERNEL_ABI_SYSCALL:
event.type = LTTNG_EVENT_SYSCALL;
break;
- case LTTNG_KERNEL_ALL:
+ case LTTNG_KERNEL_ABI_ALL:
/* fall-through. */
default:
assert(0);
{
enum lttng_error_code ret_code;
const struct lttng_trigger *query_target_trigger;
- struct lttng_action *query_target_action = NULL;
+ const struct lttng_action *query_target_action = NULL;
struct lttng_trigger *matching_trigger = NULL;
const char *trigger_name;
uid_t trigger_owner;
case LTTNG_ERROR_QUERY_TARGET_TYPE_TRIGGER:
query_target_trigger = lttng_error_query_trigger_borrow_target(query);
break;
+ case LTTNG_ERROR_QUERY_TARGET_TYPE_CONDITION:
+ query_target_trigger =
+ lttng_error_query_condition_borrow_target(query);
+ break;
case LTTNG_ERROR_QUERY_TARGET_TYPE_ACTION:
query_target_trigger = lttng_error_query_action_borrow_trigger_target(
query);
}
break;
+ case LTTNG_ERROR_QUERY_TARGET_TYPE_CONDITION:
+ {
+ trigger_status = lttng_trigger_condition_add_error_results(
+ matching_trigger, results);
+
+ switch (trigger_status) {
+ case LTTNG_TRIGGER_STATUS_OK:
+ break;
+ default:
+ ret_code = LTTNG_ERR_UNK;
+ goto end;
+ }
+
+ break;
+ }
case LTTNG_ERROR_QUERY_TARGET_TYPE_ACTION:
{
const enum lttng_action_status action_status =
consumer_copy_output(snapshot_output->consumer);
strcpy(snapshot_kernel_consumer_output->chunk_path,
snapshot_chunk_name);
+
+ /* Copy the original domain subdir. */
+ strcpy(snapshot_kernel_consumer_output->domain_subdir,
+ original_kernel_consumer_output->domain_subdir);
+
ret = consumer_copy_sockets(snapshot_kernel_consumer_output,
original_kernel_consumer_output);
if (ret < 0) {
consumer_copy_output(snapshot_output->consumer);
strcpy(snapshot_ust_consumer_output->chunk_path,
snapshot_chunk_name);
+
+ /* Copy the original domain subdir. */
+ strcpy(snapshot_ust_consumer_output->domain_subdir,
+ original_ust_consumer_output->domain_subdir);
+
ret = consumer_copy_sockets(snapshot_ust_consumer_output,
original_ust_consumer_output);
if (ret < 0) {