加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
0012-all-Fix-uninitialized-class-members.patch 2.56 KB
一键复制 编辑 原始数据 按行查看 历史
wangzhiqiang 提交于 2024-07-31 10:43 . backport bugfix patch from community
From 2e62363446389f6d160a0a10d7ab3e735401bb6c Mon Sep 17 00:00:00 2001
From: Ming-Hung Tsai <mtsai@redhat.com>
Date: Wed, 2 Jun 2021 12:14:34 +0800
Subject: [PATCH] [all] Fix uninitialized class members
---
era/restore_emitter.cc | 1 +
thin-provisioning/metadata_dumper.cc | 10 +++++++---
thin-provisioning/thin_delta.cc | 4 +++-
3 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/era/restore_emitter.cc b/era/restore_emitter.cc
index c09fa665..7fbac7db 100644
--- a/era/restore_emitter.cc
+++ b/era/restore_emitter.cc
@@ -14,6 +14,7 @@ namespace {
: md_(md),
in_superblock_(false),
in_writeset_(false),
+ era_(0),
in_era_array_(false) {
}
diff --git a/thin-provisioning/metadata_dumper.cc b/thin-provisioning/metadata_dumper.cc
index 4feb40f6..665c7624 100644
--- a/thin-provisioning/metadata_dumper.cc
+++ b/thin-provisioning/metadata_dumper.cc
@@ -180,7 +180,7 @@ namespace {
// This is about classifying and summarising btree nodes. The use of a btree
// node may not be obvious when inspecting it in isolation. But more information
// may be gleaned by examining child and sibling nodes.
-//
+//
// So the process is:
// - scan every metadata block, summarising it's potential uses.
// - repeatedly iterate those summaries until we can glean no more useful information.
@@ -474,7 +474,7 @@ namespace {
node_info get_internal_info(block_manager::read_ref &rr) {
node_info info;
info.b = rr.get_location();
-
+
// values refer to blocks, so we should have infos for them.
auto n = to_node<block_traits>(rr);
::uint64_t key_low = 0;
@@ -524,7 +524,7 @@ namespace {
node_info info;
info.b = rr.get_location();
- auto vsize = to_cpu<uint32_t>(hdr.value_size);
+ auto vsize = to_cpu<uint32_t>(hdr.value_size);
info.values = to_cpu<uint32_t>(hdr.nr_entries);
if (vsize == sizeof(device_details_traits::disk_type)) {
@@ -645,6 +645,10 @@ namespace {
public:
mapping_emit_visitor(emitter::ptr e)
: e_(e),
+ origin_start_(0),
+ dest_start_(0),
+ time_(0),
+ len_(0),
in_range_(false) {
}
diff --git a/thin-provisioning/thin_delta.cc b/thin-provisioning/thin_delta.cc
index 0eb119e6..56f97fac 100644
--- a/thin-provisioning/thin_delta.cc
+++ b/thin-provisioning/thin_delta.cc
@@ -214,7 +214,9 @@ namespace {
class simple_emitter : public diff_emitter {
public:
simple_emitter(indented_stream &out)
- : diff_emitter(out) {
+ : diff_emitter(out),
+ vbegin_(0),
+ vend_(0) {
}
void left_only(uint64_t vbegin, uint64_t dbegin, uint64_t len) {
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化