instrumentation: syscalls: remove backward compatibility for older kernels
[lttng-modules.git] / lttng-abi.c
index baaf34d31952a2b0db6b732fc0c580891a059b35..fb970a6926ce0eec2d61199f8dedc470ad9eab1f 100644 (file)
 #include <linux/uaccess.h>
 #include <linux/slab.h>
 #include <linux/err.h>
+#include <linux/kref.h>
 #include <wrapper/ringbuffer/vfs.h>
 #include <wrapper/ringbuffer/backend.h>
 #include <wrapper/ringbuffer/frontend.h>
-#include <wrapper/poll.h>
-#include <wrapper/file.h>
-#include <wrapper/kref.h>
 #include <lttng-string-utils.h>
 #include <lttng-abi.h>
 #include <lttng-abi-old.h>
@@ -80,7 +78,7 @@ int lttng_abi_create_session(void)
        session = lttng_session_create();
        if (!session)
                return -ENOMEM;
-       session_fd = lttng_get_unused_fd();
+       session_fd = get_unused_fd_flags(0);
        if (session_fd < 0) {
                ret = session_fd;
                goto fd_error;
@@ -109,7 +107,7 @@ int lttng_abi_tracepoint_list(void)
        struct file *tracepoint_list_file;
        int file_fd, ret;
 
-       file_fd = lttng_get_unused_fd();
+       file_fd = get_unused_fd_flags(0);
        if (file_fd < 0) {
                ret = file_fd;
                goto fd_error;
@@ -149,7 +147,7 @@ int lttng_abi_syscall_list(void)
        struct file *syscall_list_file;
        int file_fd, ret;
 
-       file_fd = lttng_get_unused_fd();
+       file_fd = get_unused_fd_flags(0);
        if (file_fd < 0) {
                ret = file_fd;
                goto fd_error;
@@ -426,7 +424,7 @@ int lttng_abi_create_channel(struct file *session_file,
        int chan_fd;
        int ret = 0;
 
-       chan_fd = lttng_get_unused_fd();
+       chan_fd = get_unused_fd_flags(0);
        if (chan_fd < 0) {
                ret = chan_fd;
                goto fd_error;
@@ -777,7 +775,6 @@ unsigned int lttng_metadata_ring_buffer_poll(struct file *filp,
        unsigned int mask = 0;
 
        if (filp->f_mode & FMODE_READ) {
-               poll_wait_set_exclusive(wait);
                poll_wait(filp, &stream->read_wait, wait);
 
                finalized = stream->finalized;
@@ -1085,7 +1082,7 @@ int lttng_abi_create_stream_fd(struct file *channel_file, void *stream_priv,
        int stream_fd, ret;
        struct file *stream_file;
 
-       stream_fd = lttng_get_unused_fd();
+       stream_fd = get_unused_fd_flags(0);
        if (stream_fd < 0) {
                ret = stream_fd;
                goto fd_error;
@@ -1177,11 +1174,7 @@ int lttng_abi_open_metadata_stream(struct file *channel_file)
                goto notransport;
        }
 
-       if (!lttng_kref_get(&session->metadata_cache->refcount)) {
-               ret = -EOVERFLOW;
-               goto kref_error;
-       }
-
+       kref_get(&session->metadata_cache->refcount);
        ret = lttng_abi_create_stream_fd(channel_file, stream_priv,
                        &lttng_metadata_ring_buffer_file_operations);
        if (ret < 0)
@@ -1193,7 +1186,6 @@ int lttng_abi_open_metadata_stream(struct file *channel_file)
 
 fd_error:
        kref_put(&session->metadata_cache->refcount, metadata_cache_destroy);
-kref_error:
        module_put(metadata_stream->transport->owner);
 notransport:
        kfree(metadata_stream);
@@ -1226,7 +1218,7 @@ int lttng_abi_create_event(struct file *channel_file,
        default:
                break;
        }
-       event_fd = lttng_get_unused_fd();
+       event_fd = get_unused_fd_flags(0);
        if (event_fd < 0) {
                ret = event_fd;
                goto fd_error;
@@ -1510,7 +1502,6 @@ unsigned int lttng_channel_poll(struct file *file, poll_table *wait)
        unsigned int mask = 0;
 
        if (file->f_mode & FMODE_READ) {
-               poll_wait_set_exclusive(wait);
                poll_wait(file, channel->ops->get_hp_wait_queue(channel->chan),
                          wait);
 
This page took 0.026264 seconds and 4 git commands to generate.