Commit Graph

1652 Commits

Author SHA1 Message Date
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
Joe Thornber
a828cde96d [btree] visitor now passed as a reference rather than shared_ptr 2013-05-02 12:31:33 +01:00
Joe Thornber
5913de5e38 [metadata_checker_t] check the range for missing_devices_damage. 2013-05-02 12:22:54 +01:00
Joe Thornber
008a4d495c [metadata_checker_t] Some more work on the devices_visitor. 2013-05-02 12:04:05 +01:00
Joe Thornber
3832fd5952 More work on metadata_checker_t 2013-05-01 16:33:42 +01:00
Joe Thornber
647cb68b76 Some test utils 2013-05-01 16:33:24 +01:00
Joe Thornber
21603c5a5d ostream operator << for range template. 2013-05-01 16:30:59 +01:00
Joe Thornber
e1c5d485eb Tidy up a typedef 2013-05-01 16:29:44 +01:00
Joe Thornber
5d0b23beea Some btree visitor tidying.
Introduce node_location to replace the long list of parameters.  Also
add a depth field to keep track of the depth from root.
2013-05-01 16:16:23 +01:00
Joe Thornber
1884233a2b DeviceCheckerTests.passes_with_valid_metadata_containing_some_devices 2013-04-29 16:35:03 +01:00
Joe Thornber
c782da7a34 Use a mock of the metadata_damage_visitor to confirm the type off damage reported from the device_checker. 2013-04-29 16:13:18 +01:00
Joe Thornber
fa96ec6301 Add operator == for the range template 2013-04-29 16:12:34 +01:00
Joe Thornber
5e26d51372 add equality operators for the metadata_damage classes. 2013-04-29 16:12:05 +01:00