Fix: reset current size for tracefile rotation
[lttng-tools.git] / src / bin / lttng-relayd / main.c
index 9a2b3bda7c010e9c8da7ad7a7b0345c9e4697d03..71c9f2b49105ac665faf805c444d7ef6a984b548 100644 (file)
@@ -863,8 +863,12 @@ int relay_add_stream(struct lttcomm_relayd_hdr *recv_hdr,
                goto end;
        }
 
+       /*
+        * No need to use run_as API here because whatever we receives, the relayd
+        * uses its own credentials for the stream files.
+        */
        ret = utils_create_stream_file(stream->path_name, stream->channel_name,
-                       stream->tracefile_size, 0, getuid(), getgid());
+                       stream->tracefile_size, 0, -1, -1);
        if (ret < 0) {
                ERR("Create output file");
                goto end;
@@ -1625,13 +1629,15 @@ int relay_process_data(struct relay_command *cmd, struct lttng_ht *streams_ht)
                        stream->tracefile_size) {
                ret = utils_rotate_stream_file(stream->path_name,
                                stream->channel_name, stream->tracefile_size,
-                               stream->tracefile_count, getuid(), getgid(),
+                               stream->tracefile_count, -1, -1,
                                stream->fd, &(stream->tracefile_count_current));
                if (ret < 0) {
                        ERR("Rotating output file");
                        goto end;
                }
                stream->fd = ret;
+               /* Reset current size because we just perform a stream rotation. */
+               stream->tracefile_size_current = 0;
        }
        stream->tracefile_size_current += data_size;
        do {
This page took 0.024494 seconds and 5 git commands to generate.