Move to kernel style SPDX license identifiers
[babeltrace.git] / src / ctfser / ctfser.c
index 6203246972a173cad1c73ce488a407c8ca69ac93..30bb91df177e3480e438ec3dcd72d3badd791e63 100644 (file)
@@ -1,27 +1,12 @@
 /*
- * Copyright 2019 Philippe Proulx <pproulx@efficios.com>
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
+ * SPDX-License-Identifier: MIT
  *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
+ * Copyright 2019 Philippe Proulx <pproulx@efficios.com>
  */
 
+#define BT_LOG_OUTPUT_LEVEL (ctfser->log_level)
 #define BT_LOG_TAG "CTFSER"
-#include "logging.h"
+#include "logging/log.h"
 
 #include <unistd.h>
 #include <string.h>
 #include <stdlib.h>
 #include <stdio.h>
 #include <wchar.h>
-#include <stdbool.h>
-#include "common/babeltrace.h"
+#include "common/macros.h"
 #include "common/common.h"
 #include "ctfser/ctfser.h"
 #include "compat/unistd.h"
 #include "compat/fcntl.h"
 
 static inline
-uint64_t get_packet_size_increment_bytes(void)
+uint64_t get_packet_size_increment_bytes(struct bt_ctfser *ctfser)
 {
-       return bt_common_get_page_size() * 8;
+       return bt_common_get_page_size(ctfser->log_level) * 8;
 }
 
 static inline
@@ -54,7 +38,7 @@ void mmap_align_ctfser(struct bt_ctfser *ctfser)
 {
        ctfser->base_mma = mmap_align(ctfser->cur_packet_size_bytes,
                PROT_READ | PROT_WRITE,
-               MAP_SHARED, ctfser->fd, ctfser->mmap_offset);
+               MAP_SHARED, ctfser->fd, ctfser->mmap_offset, ctfser->log_level);
 }
 
 BT_HIDDEN
@@ -63,7 +47,7 @@ int _bt_ctfser_increase_cur_packet_size(struct bt_ctfser *ctfser)
        int ret;
 
        BT_ASSERT(ctfser);
-       BT_LOGV("Increasing stream file's current packet size: "
+       BT_LOGD("Increasing stream file's current packet size: "
                "path=\"%s\", fd=%d, "
                "offset-in-cur-packet-bits=%" PRIu64 ", "
                "cur-packet-size-bytes=%" PRIu64,
@@ -77,7 +61,8 @@ int _bt_ctfser_increase_cur_packet_size(struct bt_ctfser *ctfser)
                goto end;
        }
 
-       ctfser->cur_packet_size_bytes += get_packet_size_increment_bytes();
+       ctfser->cur_packet_size_bytes += get_packet_size_increment_bytes(
+               ctfser);
 
        do {
                ret = bt_posix_fallocate(ctfser->fd, ctfser->mmap_offset,
@@ -97,7 +82,7 @@ int _bt_ctfser_increase_cur_packet_size(struct bt_ctfser *ctfser)
                goto end;
        }
 
-       BT_LOGV("Increased packet size: "
+       BT_LOGD("Increased packet size: "
                "path=\"%s\", fd=%d, "
                "offset-in-cur-packet-bits=%" PRIu64 ", "
                "new-packet-size-bytes=%" PRIu64,
@@ -110,7 +95,7 @@ end:
 }
 
 BT_HIDDEN
-int bt_ctfser_init(struct bt_ctfser *ctfser, const char *path)
+int bt_ctfser_init(struct bt_ctfser *ctfser, const char *path, int log_level)
 {
        int ret = 0;
 
@@ -118,6 +103,7 @@ int bt_ctfser_init(struct bt_ctfser *ctfser, const char *path)
        memset(ctfser, 0, sizeof(*ctfser));
        ctfser->fd = open(path, O_RDWR | O_CREAT | O_TRUNC,
                S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP);
+       ctfser->log_level = log_level;
        if (ctfser->fd < 0) {
                BT_LOGW_ERRNO("Failed to open stream file for writing",
                        ": path=\"%s\", ret=%d",
@@ -141,6 +127,19 @@ int bt_ctfser_fini(struct bt_ctfser *ctfser)
                goto free_path;
        }
 
+       if (ctfser->base_mma) {
+               /* Unmap old base */
+               ret = munmap_align(ctfser->base_mma);
+               if (ret) {
+                       BT_LOGE_ERRNO("Failed to unmap stream file",
+                               ": ret=%d, size-bytes=%" PRIu64,
+                               ret, ctfser->stream_size_bytes);
+                       goto end;
+               }
+
+               ctfser->base_mma = NULL;
+       }
+
        /*
         * Truncate the stream file's size to the minimum required to
         * fit the last packet as we might have grown it too much during
@@ -157,18 +156,6 @@ int bt_ctfser_fini(struct bt_ctfser *ctfser)
                goto end;
        }
 
-       if (ctfser->base_mma) {
-               /* Unmap old base */
-               ret = munmap_align(ctfser->base_mma);
-               if (ret) {
-                       BT_LOGE_ERRNO("Failed to unmap stream file",
-                               ": ret=%d, size-bytes=%" PRIu64,
-                               ret, ctfser->stream_size_bytes);
-                       goto end;
-               }
-
-               ctfser->base_mma = NULL;
-       }
 
        ret = close(ctfser->fd);
        if (ret) {
@@ -194,7 +181,7 @@ int bt_ctfser_open_packet(struct bt_ctfser *ctfser)
 {
        int ret = 0;
 
-       BT_LOGV("Opening packet: path=\"%s\", fd=%d, "
+       BT_LOGD("Opening packet: path=\"%s\", fd=%d, "
                "prev-packet-size-bytes=%" PRIu64,
                ctfser->path->str, ctfser->fd,
                ctfser->prev_packet_size_bytes);
@@ -220,7 +207,8 @@ int bt_ctfser_open_packet(struct bt_ctfser *ctfser)
        ctfser->prev_packet_size_bytes = 0;
 
        /* Make initial space for the current packet */
-       ctfser->cur_packet_size_bytes = get_packet_size_increment_bytes();
+       ctfser->cur_packet_size_bytes = get_packet_size_increment_bytes(
+               ctfser);
 
        do {
                ret = bt_posix_fallocate(ctfser->fd, ctfser->mmap_offset,
@@ -244,7 +232,7 @@ int bt_ctfser_open_packet(struct bt_ctfser *ctfser)
                goto end;
        }
 
-       BT_LOGV("Opened packet: path=\"%s\", fd=%d, "
+       BT_LOGD("Opened packet: path=\"%s\", fd=%d, "
                "cur-packet-size-bytes=%" PRIu64,
                ctfser->path->str, ctfser->fd,
                ctfser->cur_packet_size_bytes);
@@ -257,7 +245,7 @@ BT_HIDDEN
 void bt_ctfser_close_current_packet(struct bt_ctfser *ctfser,
                uint64_t packet_size_bytes)
 {
-       BT_LOGV("Closing packet: path=\"%s\", fd=%d, "
+       BT_LOGD("Closing packet: path=\"%s\", fd=%d, "
                "offset-in-cur-packet-bits=%" PRIu64
                "cur-packet-size-bytes=%" PRIu64,
                ctfser->path->str, ctfser->fd,
@@ -273,7 +261,7 @@ void bt_ctfser_close_current_packet(struct bt_ctfser *ctfser,
         */
        ctfser->prev_packet_size_bytes = packet_size_bytes;
        ctfser->stream_size_bytes += packet_size_bytes;
-       BT_LOGV("Closed packet: path=\"%s\", fd=%d, "
+       BT_LOGD("Closed packet: path=\"%s\", fd=%d, "
                "stream-file-size-bytes=%" PRIu64,
                ctfser->path->str, ctfser->fd,
                ctfser->stream_size_bytes);
This page took 0.028257 seconds and 4 git commands to generate.