projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Cleanup: namespace 'align' macros
[lttng-tools.git]
/
src
/
common
/
kernel-ctl
/
kernel-ctl.c
diff --git
a/src/common/kernel-ctl/kernel-ctl.c
b/src/common/kernel-ctl/kernel-ctl.c
index 877de5f8660bfb0c534a92815818b2296b5e53d5..c535054cc1ca9d09b7a21d56b0f67c38fc18a896 100644
(file)
--- a/
src/common/kernel-ctl/kernel-ctl.c
+++ b/
src/common/kernel-ctl/kernel-ctl.c
@@
-16,7
+16,6
@@
#include <common/macros.h>
#include <common/compat/errno.h>
#include <stdarg.h>
#include <common/macros.h>
#include <common/compat/errno.h>
#include <stdarg.h>
-#include <assert.h>
#include <common/time.h>
#include "kernel-ctl.h"
#include <common/time.h>
#include "kernel-ctl.h"
@@
-25,7
+24,7
@@
#define LTTNG_IOCTL_CHECK(fildes, request, ...) \
({ \
int _ioctl_ret = ioctl(fildes, request, ##__VA_ARGS__); \
#define LTTNG_IOCTL_CHECK(fildes, request, ...) \
({ \
int _ioctl_ret = ioctl(fildes, request, ##__VA_ARGS__); \
-
assert
(_ioctl_ret <= 0); \
+
LTTNG_ASSERT
(_ioctl_ret <= 0); \
!_ioctl_ret ? 0 : -errno; \
})
!_ioctl_ret ? 0 : -errno; \
})
@@
-180,7
+179,7
@@
int kernctl_syscall_mask(int fd, char **syscall_mask, uint32_t *nr_bits)
goto end;
}
goto end;
}
- array_alloc_len =
ALIGN
(kmask_len.len, 8) >> 3;
+ array_alloc_len =
lttng_align_ceil
(kmask_len.len, 8) >> 3;
kmask = zmalloc(sizeof(*kmask) + array_alloc_len);
if (!kmask) {
kmask = zmalloc(sizeof(*kmask) + array_alloc_len);
if (!kmask) {
@@
-210,12
+209,28
@@
end:
int kernctl_track_pid(int fd, int pid)
{
int kernctl_track_pid(int fd, int pid)
{
- return LTTNG_IOCTL_CHECK(fd, LTTNG_KERNEL_ABI_SESSION_TRACK_PID, pid);
+ int ret = LTTNG_IOCTL_CHECK(
+ fd, LTTNG_KERNEL_ABI_SESSION_TRACK_PID, pid);
+
+ if (ret == -ENOSYS) {
+ ret = LTTNG_IOCTL_CHECK(fd,
+ LTTNG_KERNEL_ABI_OLD_SESSION_TRACK_PID, pid);
+ }
+
+ return ret;
}
int kernctl_untrack_pid(int fd, int pid)
{
}
int kernctl_untrack_pid(int fd, int pid)
{
- return LTTNG_IOCTL_CHECK(fd, LTTNG_KERNEL_ABI_SESSION_UNTRACK_PID, pid);
+ int ret = LTTNG_IOCTL_CHECK(
+ fd, LTTNG_KERNEL_ABI_SESSION_UNTRACK_PID, pid);
+
+ if (ret == -ENOSYS) {
+ ret = LTTNG_IOCTL_CHECK(fd,
+ LTTNG_KERNEL_ABI_OLD_SESSION_UNTRACK_PID, pid);
+ }
+
+ return ret;
}
int kernctl_list_tracker_pids(int fd)
}
int kernctl_list_tracker_pids(int fd)
@@
-247,6
+262,7
@@
static enum lttng_kernel_abi_tracker_type get_kernel_tracker_type(
int kernctl_track_id(int fd, enum lttng_process_attr process_attr, int id)
{
struct lttng_kernel_abi_tracker_args args;
int kernctl_track_id(int fd, enum lttng_process_attr process_attr, int id)
{
struct lttng_kernel_abi_tracker_args args;
+ int ret;
args.id = id;
args.type = get_kernel_tracker_type(process_attr);
args.id = id;
args.type = get_kernel_tracker_type(process_attr);
@@
-254,12
+270,20
@@
int kernctl_track_id(int fd, enum lttng_process_attr process_attr, int id)
errno = EINVAL;
return -1;
}
errno = EINVAL;
return -1;
}
- return LTTNG_IOCTL_CHECK(fd, LTTNG_KERNEL_ABI_SESSION_TRACK_ID, &args);
+
+ ret = LTTNG_IOCTL_CHECK(fd, LTTNG_KERNEL_ABI_SESSION_TRACK_ID, &args);
+ if (ret == -ENOSYS) {
+ ret = LTTNG_IOCTL_CHECK(fd,
+ LTTNG_KERNEL_ABI_OLD_SESSION_TRACK_ID, &args);
+ }
+
+ return ret;
}
int kernctl_untrack_id(int fd, enum lttng_process_attr process_attr, int id)
{
struct lttng_kernel_abi_tracker_args args;
}
int kernctl_untrack_id(int fd, enum lttng_process_attr process_attr, int id)
{
struct lttng_kernel_abi_tracker_args args;
+ int ret;
args.id = id;
args.type = get_kernel_tracker_type(process_attr);
args.id = id;
args.type = get_kernel_tracker_type(process_attr);
@@
-267,12
+291,20
@@
int kernctl_untrack_id(int fd, enum lttng_process_attr process_attr, int id)
errno = EINVAL;
return -1;
}
errno = EINVAL;
return -1;
}
- return LTTNG_IOCTL_CHECK(fd, LTTNG_KERNEL_ABI_SESSION_UNTRACK_ID, &args);
+
+ ret = LTTNG_IOCTL_CHECK(fd, LTTNG_KERNEL_ABI_SESSION_UNTRACK_ID, &args);
+ if (ret == -ENOSYS) {
+ ret = LTTNG_IOCTL_CHECK(fd,
+ LTTNG_KERNEL_ABI_OLD_SESSION_UNTRACK_ID, &args);
+ }
+
+ return ret;
}
int kernctl_list_tracker_ids(int fd, enum lttng_process_attr process_attr)
{
struct lttng_kernel_abi_tracker_args args;
}
int kernctl_list_tracker_ids(int fd, enum lttng_process_attr process_attr)
{
struct lttng_kernel_abi_tracker_args args;
+ int ret;
args.id = -1;
args.type = get_kernel_tracker_type(process_attr);
args.id = -1;
args.type = get_kernel_tracker_type(process_attr);
@@
-280,8
+312,16
@@
int kernctl_list_tracker_ids(int fd, enum lttng_process_attr process_attr)
errno = EINVAL;
return -1;
}
errno = EINVAL;
return -1;
}
- return LTTNG_IOCTL_NO_CHECK(
+
+ ret = LTTNG_IOCTL_NO_CHECK(
fd, LTTNG_KERNEL_ABI_SESSION_LIST_TRACKER_IDS, &args);
fd, LTTNG_KERNEL_ABI_SESSION_LIST_TRACKER_IDS, &args);
+ if (ret == -ENOSYS) {
+ ret = LTTNG_IOCTL_NO_CHECK(fd,
+ LTTNG_KERNEL_ABI_OLD_SESSION_LIST_TRACKER_IDS,
+ &args);
+ }
+
+ return ret;
}
int kernctl_session_regenerate_metadata(int fd)
}
int kernctl_session_regenerate_metadata(int fd)
@@
-306,6
+346,12
@@
int kernctl_session_set_name(int fd, const char *name)
ret = LTTNG_IOCTL_CHECK(
fd, LTTNG_KERNEL_ABI_SESSION_SET_NAME, &session_name);
ret = LTTNG_IOCTL_CHECK(
fd, LTTNG_KERNEL_ABI_SESSION_SET_NAME, &session_name);
+ if (ret == -ENOSYS) {
+ ret = LTTNG_IOCTL_CHECK(fd,
+ LTTNG_KERNEL_ABI_OLD_SESSION_SET_NAME,
+ &session_name);
+ }
+
end:
return ret;
}
end:
return ret;
}
@@
-323,6
+369,12
@@
int kernctl_session_set_creation_time(int fd, time_t time)
ret = LTTNG_IOCTL_CHECK(fd, LTTNG_KERNEL_ABI_SESSION_SET_CREATION_TIME,
&creation_time);
ret = LTTNG_IOCTL_CHECK(fd, LTTNG_KERNEL_ABI_SESSION_SET_CREATION_TIME,
&creation_time);
+ if (ret == -ENOSYS) {
+ ret = LTTNG_IOCTL_CHECK(fd,
+ LTTNG_KERNEL_ABI_OLD_SESSION_SET_CREATION_TIME,
+ &creation_time);
+ }
+
end:
return ret;
}
end:
return ret;
}
This page took
0.024759 seconds
and
4
git commands to generate.