Joe Thornber
83a09e1a2a
[btree] use a block_ref_counter for internal nodes
2013-06-20 14:29:48 +01:00
Joe Thornber
e89d81e318
[btree] fix bug in earlier patch. inc_children was always begin called.
2013-06-20 14:26:17 +01:00
Joe Thornber
16c9efc85c
[btree] Avoid an extra shadow op in split_sibling
2013-06-20 12:17:59 +01:00
Joe Thornber
c8a5d0753d
[btree] factor out inc_children
2013-06-20 12:17:16 +01:00
Joe Thornber
a2e51062e3
[btree] call inc_children when shadowning a btree node.
2013-06-19 17:20:12 +01:00
Joe Thornber
ec99e6fd93
[btree] update the root_ after an insert
...
!!!
2013-06-19 17:19:24 +01:00
Joe Thornber
a8585f1d68
Use full paths in some includes
2013-06-19 17:18:39 +01:00
Joe Thornber
df016f07a7
[space map disk] Add a bounds check when accessing block data.
...
This means we get a more helpful message in the exception.
2013-06-14 15:36:01 +01:00
Joe Thornber
480e94d4eb
Remove some more global using namespaces
2013-05-28 13:53:23 +01:00
Joe Thornber
6706493304
Remove some global 'using namespace's
2013-05-28 13:48:10 +01:00
Joe Thornber
ac73593c15
[btree_damage_visitor] tweak a typedef
2013-05-28 13:00:30 +01:00
Joe Thornber
8253930cdd
[run] define some more constructors
2013-05-28 12:59:17 +01:00
Joe Thornber
e64dda95f6
rename range<> -> run<>
2013-05-28 12:20:05 +01:00
Joe Thornber
83d6b609eb
[range.h] rename to run.h
2013-05-28 11:51:44 +01:00
Joe Thornber
bde2b2b40d
[range.h] Make ctr explicit
2013-05-28 11:48:12 +01:00
Joe Thornber
12d6b8a2a7
[btree_damage_visitor] Make sure the path for a value includes it's key.
2013-05-23 14:37:24 +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
49587a7577
Forgot to commit btree_damage_checker.cc
2013-05-21 11:45:10 +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
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
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
224ef1f429
switch to -std=c++11
2013-05-14 15:37:57 +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
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
a828cde96d
[btree] visitor now passed as a reference rather than shared_ptr
2013-05-02 12:31:33 +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
a7c0b0c39b
[block, lock_checker] add an is_locked() method for use in unit tests.
2013-04-29 12:31:30 +01:00
Joe Thornber
b1e0ca2207
[block] make sure we can change validators
2013-04-26 15:54:15 +01:00
Joe Thornber
5367631c8c
[various data structures] Reuse validators rather than always creating a new one.
2013-04-26 14:15:20 +01:00
Joe Thornber
53ac7b8119
[block_manager] Allow people to change the validator for a block
2013-04-26 14:14:28 +01:00
Joe Thornber
0b4c359a63
[block manager] The dirty flag for blocks was never being cleared, causes redundant writes.
2013-04-26 13:18:24 +01:00
Joe Thornber
d8a208cbc8
A stack of space map tweaks.
...
new_block() is now a concrete method implemented using the virtual
find_free() and inc() methods.
recursive space map is better at giving correct reference counts.
2013-04-23 10:57:47 +01:00