#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"
cds_list_add(&lkc->list, &session->channel_list.head);
session->channel_count++;
- DBG("Kernel channel %s created (fd: %d and path: %s)",
- lkc->channel->name, lkc->fd, lkc->pathname);
+ DBG("Kernel channel %s created (fd: %d)", lkc->channel->name, lkc->fd);
return 0;
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;
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;
}
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;
}
session->metadata = lkm;
- DBG("Kernel metadata opened (fd: %d and path: %s)", lkm->fd, lkm->pathname);
+ DBG("Kernel metadata opened (fd: %d)", lkm->fd);
return 0;
ret = kernctl_buffer_flush(fd);
if (ret < 0) {
- ERR("Fail to flush metadata buffers %d (ret: %d", fd, ret);
+ ERR("Fail to flush metadata buffers %d (ret: %d)", fd, ret);
}
return 0;
*/
int kernel_open_channel_stream(struct ltt_kernel_channel *channel)
{
- int ret;
+ int ret, count = 0;
struct ltt_kernel_stream *lks;
while ((ret = kernctl_create_stream(channel->fd)) >= 0) {
- lks = trace_kernel_create_stream();
+ lks = trace_kernel_create_stream(channel->channel->name, count);
if (lks == NULL) {
ret = close(ret);
if (ret) {
PERROR("fcntl session fd");
}
- ret = asprintf(&lks->pathname, "%s/%s_%d",
- channel->pathname, channel->channel->name, channel->stream_count);
- if (ret < 0) {
- PERROR("asprintf kernel create stream");
- goto error;
- }
-
/* Add stream to channe stream list */
cds_list_add(&lks->list, &channel->stream_list.head);
channel->stream_count++;
- DBG("Kernel stream %d created (fd: %d, state: %d, path: %s)",
- channel->stream_count, lks->fd, lks->state, lks->pathname);
+ /* Increment counter which represent CPU number. */
+ count++;
+
+ DBG("Kernel stream %s created (fd: %d, state: %d)", lks->name, lks->fd,
+ lks->state);
}
return channel->stream_count;