Commit Graph

136 Commits

Author SHA1 Message Date
Joe Thornber
4d83b7775b [thin_check] start wiring up the new damage visitor infrastructure, starting with superblock corruption. 2013-05-21 14:38:33 +01:00
Joe Thornber
6fcda37dbc superblock damage visitor 2013-05-21 14:01:17 +01:00
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
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
b0d1fa0851 Sanitise btree_detail::node_location 2013-05-15 13:37:30 +01:00
Joe Thornber
a7adefbae8 Move range.h to persistent-data 2013-05-08 16:38:04 +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
a828cde96d [btree] visitor now passed as a reference rather than shared_ptr 2013-05-02 12:31:33 +01:00
Joe Thornber
21603c5a5d ostream operator << for range template. 2013-05-01 16:30:59 +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
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
Joe Thornber
969a5f62c6 Working on device_checker 2013-04-29 15:37:53 +01:00
Joe Thornber
524f9474cf Add a range class 2013-04-29 15:10:01 +01:00
Joe Thornber
6422b22610 Move block_manager member down into checker base class. 2013-04-29 13:31:33 +01:00
Joe Thornber
1a8b1b29e8 Start device_checker 2013-04-29 13:24:19 +01:00
Joe Thornber
c0b14ce280 fluff 2013-04-29 12:49:32 +01:00
Joe Thornber
034abaff1e Stop metadata:commit printing the superblock out to stderr. 2013-04-29 12:48:58 +01:00
Joe Thornber
2b8b74065b add fixme 2013-04-29 12:40:56 +01:00
Joe Thornber
441cba7185 Small work on metadata_checker tests. 2013-04-26 15:55:45 +01:00
Joe Thornber
a55f6fcf78 A stack of thin_check refactorings 2013-04-25 16:27:07 +01:00
Joe Thornber
20ff78c818 [thin_check] Start refactoring metadata_checker. 2013-04-23 15:21:44 +01:00
Joe Thornber
dde775ef52 thin_metadata_t now reproduces the recursive new_block() error. 2013-04-11 13:41:43 +01:00
Joe Thornber
3629e1e2b5 cucumber test for thin_check --super-block-only 2013-04-11 13:40:47 +01:00
Joe Thornber
be7801f111 some __le -> le issues 2013-03-22 15:48:43 +00:00
Joe Thornber
907dc34499 rename some parameters 2013-03-15 14:59:32 +00:00
Joe Thornber
7d18b08b91 rename NoOpRefCounter -> no_op_ref_counter 2013-02-01 14:49:26 +00:00
Joe Thornber
779f8e1fd4 Introduce a mode enum to block_io<> 2013-01-11 20:16:40 +00:00
Joe Thornber
aacca8d963 Introduce persistent-data/data-structures/ 2013-01-11 19:26:51 +00:00
Joe Thornber
326fd3408b move space maps to their own sub directory 2013-01-10 21:36:38 +00:00
Joe Thornber
282e98a6b1 Move source into separate sub directories. 2013-01-02 12:55:41 +00:00