From f1e404c33ad14f6784aa1926ae75fa49e614748e Mon Sep 17 00:00:00 2001 From: Ming-Hung Tsai Date: Wed, 2 Jun 2021 12:14:34 +0800 Subject: [PATCH 07/10] [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 c09fa66..7fbac7d 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 4feb40f..665c762 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(rr); ::uint64_t key_low = 0; @@ -524,7 +524,7 @@ namespace { node_info info; info.b = rr.get_location(); - auto vsize = to_cpu(hdr.value_size); + auto vsize = to_cpu(hdr.value_size); info.values = to_cpu(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 5b31608..ee48dea 100644 --- a/thin-provisioning/thin_delta.cc +++ b/thin-provisioning/thin_delta.cc @@ -259,7 +259,9 @@ namespace local { 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) { -- 1.8.3.1