From 2c131f57d63454de39210375ce75a282df6fe365 Mon Sep 17 00:00:00 2001 From: Ilya Dryomov Date: Tue, 19 Apr 2022 11:21:05 +0200 Subject: [PATCH] librbd/cache/pwl: initialize generate_test_instances() objects ... to prevent check-generated.sh failures such as: **** librbd::cache::pwl::WriteLogPoolRoot test 1 dump_json check failed **** ceph-dencoder type librbd::cache::pwl::WriteLogPoolRoot select_test 1 dump_json > /tmp/typ-cAoWrqlHC ceph-dencoder type librbd::cache::pwl::WriteLogPoolRoot select_test 1 encode decode dump_json > /tmp/typ-ES5yHpfGL 5c5 < "flushed_sync_gen": 0, --- > "flushed_sync_gen": 255, Signed-off-by: Ilya Dryomov --- src/librbd/cache/pwl/Types.cc | 7 ++++--- src/librbd/cache/pwl/ssd/Types.h | 9 ++++++++- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/librbd/cache/pwl/Types.cc b/src/librbd/cache/pwl/Types.cc index 0ad1625834208..bc1bd22f00049 100644 --- a/src/librbd/cache/pwl/Types.cc +++ b/src/librbd/cache/pwl/Types.cc @@ -71,7 +71,7 @@ void WriteLogCacheEntry::dump(Formatter *f) const { } void WriteLogCacheEntry::generate_test_instances(std::list& ls) { - ls.push_back(new WriteLogCacheEntry); + ls.push_back(new WriteLogCacheEntry()); ls.push_back(new WriteLogCacheEntry); ls.back()->sync_gen_number = 1; ls.back()->write_sequence_number = 1; @@ -96,10 +96,11 @@ void WriteLogPoolRoot::dump(Formatter *f) const { f->dump_unsigned("block_size", block_size); f->dump_unsigned("num_log_entries", num_log_entries); f->dump_unsigned("first_free_entry", first_free_entry); - f->dump_unsigned("first_valid_entry", first_valid_entry); } + f->dump_unsigned("first_valid_entry", first_valid_entry); +} void WriteLogPoolRoot::generate_test_instances(std::list& ls) { - ls.push_back(new WriteLogPoolRoot); + ls.push_back(new WriteLogPoolRoot()); ls.push_back(new WriteLogPoolRoot); ls.back()->layout_version = 2; ls.back()->cur_sync_gen = 1; diff --git a/src/librbd/cache/pwl/ssd/Types.h b/src/librbd/cache/pwl/ssd/Types.h index fe82dee9edf77..52f67ae201bac 100644 --- a/src/librbd/cache/pwl/ssd/Types.h +++ b/src/librbd/cache/pwl/ssd/Types.h @@ -28,8 +28,15 @@ struct SuperBlock{ } static void generate_test_instances(std::list& ls) { + ls.push_back(new SuperBlock()); ls.push_back(new SuperBlock); - ls.push_back(new SuperBlock); + ls.back()->root.layout_version = 3; + ls.back()->root.cur_sync_gen = 1; + ls.back()->root.pool_size = 10737418240; + ls.back()->root.flushed_sync_gen = 1; + ls.back()->root.block_size = 4096; + ls.back()->root.num_log_entries = 0; + ls.back()->root.first_free_entry = 30601; ls.back()->root.first_valid_entry = 2; } }; -- 2.39.5