Commit Graph

664 Commits

Author SHA1 Message Date
Joe Thornber
24ddc4f5c4 Move superblock_validator into superblock.{h,cc} 2013-05-21 13:20:03 +01:00
Joe Thornber
553f73b826 superblock_checker.* -> superblock.*, remove metadata_disk_structures.* and rearrange namespaces a bit. 2013-05-21 12:46:07 +01:00
Joe Thornber
4e61578508 mapping_tree.{h,cc} 2013-05-21 11:46:37 +01:00
Joe Thornber
49587a7577 Forgot to commit btree_damage_checker.cc 2013-05-21 11:45:10 +01:00
Joe Thornber
8f2ab2d676 Introduce mapping_tree.h 2013-05-20 17:37:46 +01:00
Joe Thornber
35880f3038 Move device_details_traits into the device_tree_detail namespace. 2013-05-20 16:35:26 +01:00
Joe Thornber
fcb617f858 device_tree 2013-05-20 16:09:13 +01:00
Joe Thornber
1ee8afd814 [btree_damage_visitor] fluff 2013-05-20 13:15:51 +01:00
Joe Thornber
d7c1eabfc0 [btree_damage_tracker] track the paths 2013-05-20 12:31:47 +01:00
Joe Thornber
e60c84392d [btree_damage_vistor_t] add some missing tree_complete()s 2013-05-17 17:44:05 +01:00
Joe Thornber
6b5a5f265d [btree_damage_visitor_t] pass a path to expect_damage. 2013-05-17 17:03:57 +01:00
Joe Thornber
50de448f2a [btree_damage_visitor_t] node_info << operator 2013-05-17 16:51:38 +01:00
Joe Thornber
d3fa4102c2 [btree_damage_visitor] pass the btree_path to both the damage and value visitors. 2013-05-17 12:05:13 +01:00
Joe Thornber
30c9e0a005 [btree_damage_visitor_t] Store the btree path in the node_info rather than the level. 2013-05-17 11:53:16 +01:00
Joe Thornber
93ba17a3f4 [btree_damage_tests] << operator for thing. 2013-05-17 11:48:02 +01:00
Joe Thornber
38dcde0c37 [btree_damage_visitor] Introduce a DamagedKeys matcher in the tests. 2013-05-17 11:42:55 +01:00
Joe Thornber
08b2749191 Remove level from btree_details::damage 2013-05-17 11:35:46 +01:00
Joe Thornber
f016161e9a [btree_damage_visitor] Hide this behind a utility function btree_visit_values(). 2013-05-17 11:29:34 +01:00
Joe Thornber
7f3a269757 [range] contains method. 2013-05-17 11:14:12 +01:00
Joe Thornber
b98dac8978 [btree] introduce a btree_path typedef 2013-05-17 10:58:34 +01:00
Joe Thornber
49da293be9 [test-utils] Make a template for outputting any optional. 2013-05-17 10:54:45 +01:00
Joe Thornber
b0d1fa0851 Sanitise btree_detail::node_location 2013-05-15 13:37:30 +01:00
Joe Thornber
35cf5cbb73 BTreeDamageVisitorTests 2013-05-15 13:36:56 +01:00
Joe Thornber
684746738f BTreeDamageVisitorTests 2013-05-14 15:38:20 +01:00
Joe Thornber
224ef1f429 switch to -std=c++11 2013-05-14 15:37:57 +01:00
Joe Thornber
730a82f974 BTreeDamageVisitorTests 2013-05-14 13:07:04 +01:00
Joe Thornber
7d49496c3b BTreeDamageVisitorTests 2013-05-14 11:27:55 +01:00
Joe Thornber
7e8e483626 More BTreeDamageVisitorTests 2013-05-14 11:01:39 +01:00
Joe Thornber
cb45c66347 More work on BTreeDamageVisitorTests 2013-05-14 10:32:28 +01:00
Joe Thornber
779f9e7cb4 More tidying of the BTreeDamageVisitorTests 2013-05-13 16:26:16 +01:00
Joe Thornber
4d2c3a7c14 A couple more tests for BTreeDamageVisitorTests 2013-05-13 14:09:18 +01:00
Joe Thornber
185f0fc758 Some refactoring of the BTreeDamageVisitorTests 2013-05-13 13:40:20 +01:00
Joe Thornber
01f1117ea4 BTreeDamageVisitorTests.visiting_a_populated_tree_with_a_sequence_of_damaged_leaf_nodes 2013-05-13 12:48:03 +01:00
Joe Thornber
88c63f620f Lots of work on the btree_damage_visitor 2013-05-13 12:36:57 +01:00
Joe Thornber
0dba0abe88 Bump up the nr of blocks in the cache from 64 to 1024. 2013-05-13 12:34:52 +01:00
Joe Thornber
08c5fde04f btree_damage_tracker 2013-05-13 11:27:38 +01:00
Joe Thornber
42a4221499 A little optimisation for the core space map. 2013-05-09 14:09:47 +01:00
Joe Thornber
8ecf2f27ed btree_damage_visitor stuff. 2013-05-09 13:31:04 +01:00
Joe Thornber
ab66e9f8e3 Some more work on btree_damage_visitor 2013-05-08 16:38:38 +01:00
Joe Thornber
a7adefbae8 Move range.h to persistent-data 2013-05-08 16:38:04 +01:00
Joe Thornber
23ef3b387d Start btree_damage_visitor. 2013-05-08 12:00:24 +01:00
Joe Thornber
f6acd473a7 Move with_directory and with_temporary_directory to test_utils. 2013-05-08 11:47:15 +01:00
Joe Thornber
bac19b3c94 [btree_checker] no longer need to check the checksum, since the block validator has already done this. 2013-05-07 15:47:43 +01:00
Joe Thornber
44d0b1903f [btree] allow visitors to trap node access failures such as checksum error. 2013-05-07 15:22:13 +01:00
Joe Thornber
8e0271b3bf [btree] When walking a btree use a validator when taking the locks.
We really can't rely on anything in the block if the checksum is
wrong.
2013-05-07 14:54:20 +01:00
Joe Thornber
1e14e1cd10 [metadata_checker_t] fix silly allocation bug in the devices_visitor. 2013-05-07 14:29:54 +01:00
Joe Thornber
d113ff6e5a thin restorer is now careful to share the mapping tree for empty devices.
This saves a lot of metadata space if you're creating lots of empty
devs (4k per dev).  Also makes things faster since we don't have to
allocate.
2013-05-07 14:24:59 +01:00
Joe Thornber
edf16f59c7 [restorer] Mappings only get inserted when the device is completed.
This saves looking up the device mapping tree for every insert.
2013-05-02 12:59:42 +01:00
Joe Thornber
5a231a7db0 [metadata_checker_t] add damage_should_include() method. 2013-05-02 12:51:55 +01:00
Joe Thornber
c976fc3d6c [metadata_checker_t] Make device_checker a member of DeviceCheckerTests 2013-05-02 12:43:16 +01:00