From 3ecf3ba0c2f8f1eb198eea1db943b3cc86504073 Mon Sep 17 00:00:00 2001 From: Simon Marchi Date: Mon, 11 Dec 2023 14:23:19 -0500 Subject: [PATCH] src.ctf.fs: data-stream-file.cpp: declare variables on first use Move variables declarations to be at or closer to their first use. Change-Id: I0649c4fda3b42c6bca02217481c08b575fda6a5d Signed-off-by: Simon Marchi Reviewed-on: https://review.lttng.org/c/babeltrace/+/8402 Reviewed-by: Philippe Proulx Reviewed-on: https://review.lttng.org/c/babeltrace/+/12345 Tested-by: jenkins --- src/plugins/ctf/fs-src/data-stream-file.cpp | 77 ++++++++------------- 1 file changed, 30 insertions(+), 47 deletions(-) diff --git a/src/plugins/ctf/fs-src/data-stream-file.cpp b/src/plugins/ctf/fs-src/data-stream-file.cpp index f578e1e3..330e47f5 100644 --- a/src/plugins/ctf/fs-src/data-stream-file.cpp +++ b/src/plugins/ctf/fs-src/data-stream-file.cpp @@ -387,25 +387,9 @@ static bt2s::optional build_index_from_idx_file(struct ctf_fs_ds_file *ds_file, struct ctf_fs_ds_file_info *file_info, struct ctf_msg_iter *msg_iter) { - bt2c::GCharUP directory; - bt2c::GCharUP basename; - std::string index_basename; - bt2c::GCharUP index_file_path; - bt2c::GMappedFileUP mapped_file; - gsize filesize; - const char *mmap_begin = NULL, *file_pos = NULL; - const struct ctf_packet_index_file_hdr *header = NULL; - ctf_fs_ds_index_entry *prev_index_entry = NULL; - auto totalPacketsSize = bt2c::DataLen::fromBytes(0); - size_t file_index_entry_size; - size_t file_entry_count; - size_t i; - struct ctf_stream_class *sc; - struct ctf_msg_iter_packet_properties props; - uint32_t version_major, version_minor; - BT_CPPLOGI_SPEC(ds_file->logger, "Building index from .idx file of stream file {}", ds_file->file->path); + ctf_msg_iter_packet_properties props; int ret = ctf_msg_iter_get_packet_properties(msg_iter, &props); if (ret) { BT_CPPLOGI_STR_SPEC(ds_file->logger, @@ -413,7 +397,8 @@ build_index_from_idx_file(struct ctf_fs_ds_file *ds_file, struct ctf_fs_ds_file_ return bt2s::nullopt; } - sc = ctf_trace_class_borrow_stream_class_by_id(ds_file->metadata->tc, props.stream_class_id); + ctf_stream_class *sc = + ctf_trace_class_borrow_stream_class_by_id(ds_file->metadata->tc, props.stream_class_id); BT_ASSERT(sc); if (!sc->default_clock_class) { BT_CPPLOGI_STR_SPEC(ds_file->logger, "Cannot find stream class's default clock class."); @@ -421,23 +406,24 @@ build_index_from_idx_file(struct ctf_fs_ds_file *ds_file, struct ctf_fs_ds_file_ } /* Look for index file in relative path index/name.idx. */ - basename.reset(g_path_get_basename(ds_file->file->path.c_str())); + bt2c::GCharUP basename {g_path_get_basename(ds_file->file->path.c_str())}; if (!basename) { BT_CPPLOGE_SPEC(ds_file->logger, "Cannot get the basename of datastream file {}", ds_file->file->path); return bt2s::nullopt; } - directory.reset(g_path_get_dirname(ds_file->file->path.c_str())); + bt2c::GCharUP directory {g_path_get_dirname(ds_file->file->path.c_str())}; if (!directory) { BT_CPPLOGE_SPEC(ds_file->logger, "Cannot get dirname of datastream file {}", ds_file->file->path); return bt2s::nullopt; } - index_basename = fmt::format("{}.idx", basename.get()); - index_file_path.reset(g_build_filename(directory.get(), "index", index_basename.c_str(), NULL)); - mapped_file.reset(g_mapped_file_new(index_file_path.get(), FALSE, NULL)); + std::string index_basename = fmt::format("{}.idx", basename.get()); + bt2c::GCharUP index_file_path { + g_build_filename(directory.get(), "index", index_basename.c_str(), NULL)}; + bt2c::GMappedFileUP mapped_file {g_mapped_file_new(index_file_path.get(), FALSE, NULL)}; if (!mapped_file) { BT_CPPLOGD_SPEC(ds_file->logger, "Cannot create new mapped file {}", index_file_path.get()); return bt2s::nullopt; @@ -448,34 +434,34 @@ build_index_from_idx_file(struct ctf_fs_ds_file *ds_file, struct ctf_fs_ds_file_ * Traces with such large indexes have never been seen in the wild, * but this would need to be adjusted to support them. */ - filesize = g_mapped_file_get_length(mapped_file.get()); - if (filesize < sizeof(*header)) { + gsize filesize = g_mapped_file_get_length(mapped_file.get()); + if (filesize < sizeof(ctf_packet_index_file_hdr)) { BT_CPPLOGW_SPEC(ds_file->logger, "Invalid LTTng trace index file: " "file size ({} bytes) < header size ({} bytes)", - filesize, sizeof(*header)); + filesize, sizeof(ctf_packet_index_file_hdr)); return bt2s::nullopt; } - mmap_begin = g_mapped_file_get_contents(mapped_file.get()); - header = (struct ctf_packet_index_file_hdr *) mmap_begin; + const char *mmap_begin = g_mapped_file_get_contents(mapped_file.get()); + const ctf_packet_index_file_hdr *header = (const ctf_packet_index_file_hdr *) mmap_begin; - file_pos = g_mapped_file_get_contents(mapped_file.get()) + sizeof(*header); + const char *file_pos = g_mapped_file_get_contents(mapped_file.get()) + sizeof(*header); if (be32toh(header->magic) != CTF_INDEX_MAGIC) { BT_CPPLOGW_STR_SPEC(ds_file->logger, "Invalid LTTng trace index: \"magic\" field validation failed"); return bt2s::nullopt; } - version_major = be32toh(header->index_major); - version_minor = be32toh(header->index_minor); + uint32_t version_major = be32toh(header->index_major); + uint32_t version_minor = be32toh(header->index_minor); if (version_major != 1) { BT_CPPLOGW_SPEC(ds_file->logger, "Unknown LTTng trace index version: major={}, minor={}", version_major, version_minor); return bt2s::nullopt; } - file_index_entry_size = be32toh(header->packet_index_len); + size_t file_index_entry_size = be32toh(header->packet_index_len); if (file_index_entry_size < CTF_INDEX_1_0_SIZE) { BT_CPPLOGW_SPEC( ds_file->logger, @@ -485,7 +471,7 @@ build_index_from_idx_file(struct ctf_fs_ds_file *ds_file, struct ctf_fs_ds_file_ return bt2s::nullopt; } - file_entry_count = (filesize - sizeof(*header)) / file_index_entry_size; + size_t file_entry_count = (filesize - sizeof(*header)) / file_index_entry_size; if ((filesize - sizeof(*header)) % file_index_entry_size) { BT_CPPLOGW_SPEC(ds_file->logger, "Invalid LTTng trace index: the index's size after the header " @@ -496,8 +482,10 @@ build_index_from_idx_file(struct ctf_fs_ds_file *ds_file, struct ctf_fs_ds_file_ } ctf_fs_ds_index index; + ctf_fs_ds_index_entry *prev_index_entry = nullptr; + auto totalPacketsSize = bt2c::DataLen::fromBytes(0); - for (i = 0; i < file_entry_count; i++) { + for (size_t i = 0; i < file_entry_count; i++) { struct ctf_packet_index *file_index = (struct ctf_packet_index *) file_pos; const auto packetSize = bt2c::DataLen::fromBits(be64toh(file_index->packet_size)); @@ -579,9 +567,8 @@ build_index_from_idx_file(struct ctf_fs_ds_file *ds_file, struct ctf_fs_ds_file_ static int init_index_entry(ctf_fs_ds_index_entry& entry, struct ctf_fs_ds_file *ds_file, struct ctf_msg_iter_packet_properties *props) { - struct ctf_stream_class *sc; - - sc = ctf_trace_class_borrow_stream_class_by_id(ds_file->metadata->tc, props->stream_class_id); + ctf_stream_class *sc = + ctf_trace_class_borrow_stream_class_by_id(ds_file->metadata->tc, props->stream_class_id); BT_ASSERT(sc); if (props->snapshots.beginning_clock != UINT64_C(-1)) { @@ -623,13 +610,10 @@ static bt2s::optional build_index_from_stream_file(struct ctf_fs_ds_file *ds_file, struct ctf_fs_ds_file_info *file_info, struct ctf_msg_iter *msg_iter) { - int ret; - enum ctf_msg_iter_status iter_status = CTF_MSG_ITER_STATUS_OK; - auto currentPacketOffset = bt2c::DataLen::fromBytes(0); - BT_CPPLOGI_SPEC(ds_file->logger, "Indexing stream file {}", ds_file->file->path); ctf_fs_ds_index index; + auto currentPacketOffset = bt2c::DataLen::fromBytes(0); while (true) { struct ctf_msg_iter_packet_properties props; @@ -643,7 +627,7 @@ build_index_from_stream_file(struct ctf_fs_ds_file *ds_file, struct ctf_fs_ds_fi break; } - iter_status = ctf_msg_iter_seek(msg_iter, currentPacketOffset.bytes()); + ctf_msg_iter_status iter_status = ctf_msg_iter_seek(msg_iter, currentPacketOffset.bytes()); if (iter_status != CTF_MSG_ITER_STATUS_OK) { return bt2s::nullopt; } @@ -677,7 +661,7 @@ build_index_from_stream_file(struct ctf_fs_ds_file *ds_file, struct ctf_fs_ds_fi /* Set path to stream file. */ index_entry.path = file_info->path.c_str(); - ret = init_index_entry(index_entry, ds_file, &props); + int ret = init_index_entry(index_entry, ds_file, &props); if (ret) { return bt2s::nullopt; } @@ -699,20 +683,19 @@ ctf_fs_ds_file::UP ctf_fs_ds_file_create(struct ctf_fs_trace *ctf_fs_trace, bt2::Stream::Shared stream, const char *path, const bt2c::Logger& parentLogger) { - int ret; auto ds_file = bt2s::make_unique(parentLogger); - size_t offset_align; ds_file->file = bt2s::make_unique(parentLogger); ds_file->stream = std::move(stream); ds_file->metadata = ctf_fs_trace->metadata.get(); ds_file->file->path = path; - ret = ctf_fs_file_open(ds_file->file.get(), "rb"); + int ret = ctf_fs_file_open(ds_file->file.get(), "rb"); if (ret) { return nullptr; } - offset_align = bt_mmap_get_offset_align_size(static_cast(ds_file->logger.level())); + const size_t offset_align = + bt_mmap_get_offset_align_size(static_cast(ds_file->logger.level())); ds_file->mmap_max_len = offset_align * 2048; return ds_file; -- 2.34.1