]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
librbd/cache/pwl: initialize generate_test_instances() objects
authorIlya Dryomov <idryomov@gmail.com>
Tue, 19 Apr 2022 09:21:05 +0000 (11:21 +0200)
committerIlya Dryomov <idryomov@gmail.com>
Thu, 9 Jun 2022 10:02:34 +0000 (12:02 +0200)
... 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 <idryomov@gmail.com>
(cherry picked from commit 2c131f57d63454de39210375ce75a282df6fe365)

Conflicts:
src/librbd/cache/pwl/Types.cc [ commit 6eb14774fec0 ("librbd:
  build without "using namespace std"") not in pacific ]
src/librbd/cache/pwl/ssd/Types.h [ ditto ]

src/librbd/cache/pwl/Types.cc
src/librbd/cache/pwl/ssd/Types.h

index 827125c31f8ff005fa494bf86ca15e0dac70a64d..67745d7de376adfa178aadc30f6f7344e6b11adb 100644 (file)
@@ -71,7 +71,7 @@ void WriteLogCacheEntry::dump(Formatter *f) const {
 }
 
 void WriteLogCacheEntry::generate_test_instances(list<WriteLogCacheEntry*>& 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(list<WriteLogPoolRoot*>& 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;
index e34b7516684c4b3296317ce16f063ba1112df2bd..3ebad1fd94562f332b33b8654f383132b19ce410 100644 (file)
@@ -28,8 +28,15 @@ struct SuperBlock{
   }
 
   static void generate_test_instances(list<SuperBlock*>& 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;
   }
 };