Joe Thornber
467be1a69e
Add some std namespaces to get tests building.
...
I guess a rogue header had previously been using the std namespace.
2017-07-24 15:40:17 +01:00
Ming-Hung Tsai
b7d418131d
Spin-off syscall-related file operations ( #78 )
...
* [file_utils] spin-off syscall-related file operations
1. Eliminate the potential circular dependency between
persistent-data/block.h and persistent-data/file_utils.h,
if the former one wants to include the latter.
2. Avoid namespace pollution by removing the "using namespace std"
declaration in block.tcc.
3. Correct the header hierarchy: base/xml_utils.h now no longer
depends on the higher-level persistent-data/file_utils.h
* [file_utils] support block files in get_file_length()
2017-04-29 18:51:52 +01:00
Ming-Hung Tsai
6863db6f86
[thin] fix duplicated counting of mapped blocks in restore emitter
2016-08-10 23:40:48 +08:00
Ming-Hung Tsai
60eb608825
[counting_visitor] fix the path for ValueCounter
2016-06-20 00:30:25 +08:00
Ming-Hung Tsai
2203e2b513
[btree_node_checker] tidy up the code
...
1. Add const qualifiers
2. Add virtual destructor
2016-05-20 00:53:35 +08:00
Ming-Hung Tsai
810e86e675
[counting_visitor] cleanup: remove redundant statements
2016-04-05 17:05:28 +08:00
Ming-Hung Tsai
9322fc9f14
[btree_damage_visitor] cleanup: remove redundant statements
2016-04-05 16:18:46 +08:00
Ming-Hung Tsai
1dce79bd55
[btree_damage_visitor] cleanup: use btree_node_checker
2016-04-05 16:09:58 +08:00
Ming-Hung Tsai
6dc9a90fec
[counting_visitor] fix unnecessary value visiting
...
1. Do not inherit btree_damage_visitor to avoid unnecessary
value visiting.
(reverts commit b22495997a
)
2. Use btree_node_checker to do node checking
2016-04-05 16:09:58 +08:00
Ming-Hung Tsai
4a4dc1a5e0
[btree_node_checker] first draft
...
Spin-off from btree_damage_visitor
2016-04-03 00:43:43 +08:00
Joe Thornber
3f6cae4ebc
[persistent-data] persistent-data/data-structures/btree_key_value_extractor.h doesn't appear to be used
...
So remove
2016-02-29 11:12:50 +00:00
Ming-Hung Tsai
d068ec8082
Add utility class binary_block_counter
2016-02-27 15:22:09 +08:00
Ming-Hung Tsai
b22495997a
Allow counting_visitor to work with damaged btrees
2016-02-27 15:22:00 +08:00
Ming-Hung Tsai
ad03114bf7
Add utility class btree_detail::key_value_extractor
2016-02-27 15:21:44 +08:00
Ming-Hung Tsai
c571a08f6c
Add utility class btree_detail::noop_value_visitor
2016-02-27 15:21:32 +08:00
Ming-Hung Tsai
a48227188e
Add utility class btree_detail::noop_damage_visitor
2016-02-27 15:21:23 +08:00
Ming-Hung Tsai
778c153c1e
[block-cache] Add check_raw() to bcache::validator
2016-02-27 15:21:13 +08:00
Ming-Hung Tsai
d2260dee34
Show the block address in exception string
2016-02-27 15:04:08 +08:00
Ming-Hung Tsai
b1d4b9f7c8
Show the block address of error nodes
2016-02-27 15:04:08 +08:00
Ming-Hung Tsai
febe80f4bb
[damage_visitor] update path_tracker in error_accessing_node()
2015-11-27 23:31:12 +08:00
Joe Thornber
71aea2efcc
add btree_disk_structures.h
2015-08-13 14:28:07 +01:00
Joe Thornber
c32aaab028
[validators] Move the btree node validator into a separate file.
2015-08-11 11:58:07 +01:00
Joe Thornber
b67cc29609
[btree] bad checksum exceptions now mention the block location
2015-08-04 15:12:41 +01:00
Joe Thornber
c8d8af488f
[btree] When using lower_bound() assign to an int rather than unsigned
...
Patch from Ming-Hung Tsai
2015-05-26 14:24:55 +01:00
Joe Thornber
cf903cfea6
[btree] lower bound search should return an empty optional if every entry in the node is higher.
...
Patch from Ming-Hung Tsai
2015-05-26 14:09:29 +01:00
Joe Thornber
880785a9bf
[damage_tracker] Reset the tracker in the end() method so we can reuse it.
...
The *_check tools already reuse trackers.
Patch from Ming-Hung Tsai.
2015-05-26 12:49:27 +01:00
Joe Thornber
85d1701ba1
[btree_damage_visitor] Check the value_size agrees.
...
Patch from Ming-Hung Tsai
2015-05-26 12:06:34 +01:00
Joe Thornber
ee200ba85b
Merge branch 'master' into space-map-checking
2015-04-07 12:18:23 +01:00
Joe Thornber
bd2c0df226
Fix this error:
...
persistent-data/data-structures/bloom_filter.cc:10: error: integer constant is too large for 'unsigned long' type
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
2015-01-16 10:15:01 +00:00
Joe Thornber
93468190bd
[bitset] When reopening a bitset some bits could be lost at the far end.
...
The number of words necessary to store the bits was being miscalculated.
2014-09-01 14:17:44 +01:00
Joe Thornber
14cfcf2dfd
[bitset] Don't visit bits in the tail end of the final word if they're beyond the nr bits in the bitset.
...
Also shift 1ULL in the test.
2014-09-01 14:16:03 +01:00
Joe Thornber
a7c96c0e1e
[everything] Fix circular shared pointer references.
...
We had a cycle from transaction_manager <-> space_map, and also from
the ref_counters back up to the tm.
This prevented objects being destroyed when various programs exited.
From now on we'll try and only use a shared ptr if ownership is
implied. Otherwise a reference will be used (eg, for up pointers).
2014-08-26 11:14:49 +01:00
Joe Thornber
feb8a03d5f
[btree_damage_tracker] Initialise all path_tracker objects with a null path.
...
This fixes an insidious bug that took me ages to track down. Without
it the non-existent front() of a list was sometimes being accessed.
2014-08-21 11:25:07 +01:00
Joe Thornber
74de9a1a94
[btree_damage_visitor] some tweaks to stop constructing so many btree_paths.
2014-07-30 12:21:34 +01:00
Joe Thornber
ecb6bee2b2
prefetch btree nodes when walking a tree
2014-07-25 16:32:59 +01:00
Joe Thornber
7e870ea5a6
start removing block_manager<>::block
2014-07-25 14:46:51 +01:00
Joe Thornber
b32908d5c2
work in progress
2014-07-25 10:35:04 +01:00
Joe Thornber
9470937b10
[btree] When creating a new multilayer btree the initial node should
...
have block_traits, rather than the ValueTraits.
2014-07-02 15:02:32 +01:00
Joe Thornber
e77e8715b0
Remove ambiguity between boost::uint64_t and ::uint64_t.
...
This has been causing people problems on uclibc builds.
2014-07-02 08:19:20 +00:00
Joe Thornber
d3687db3a8
[bloom filter] remove an unused data member
2014-06-26 15:26:39 +01:00
Joe Thornber
ae21670fd1
Merge branch 'master' of github.com:jthornber/thin-provisioning-tools
2014-06-06 15:06:33 +01:00
Joe Thornber
256cd16ab3
node_ref now checks the value_type sizes match, and the data fits within a single block.
2014-06-06 15:05:41 +01:00
Joe Thornber
82359c4835
remove a typename that rhel 6.6 objects to
2014-04-11 14:52:06 +01:00
Joe Thornber
47ec37a9fd
[thin tools] fix ambiguous reference to 'bitset'
2014-04-01 16:39:45 +01:00
Joe Thornber
9f6546f621
put space map checking back in
2014-02-19 16:08:05 +00:00
Joe Thornber
9e0540e1b6
era_check, era_dump
2014-01-23 00:46:03 +00:00
Joe Thornber
be5fa59f90
Merge branch 'era' of github.com:jthornber/thin-provisioning-tools into era
2014-01-08 10:50:26 +00:00
Joe Thornber
1b1df2fe65
Merge branch 'master' of github.com:jthornber/thin-provisioning-tools
2014-01-08 10:43:20 +00:00
Joe Thornber
8049d369a9
stuff
2013-12-11 17:28:14 +00:00
Joe Thornber
927f611aad
remove btree_checker, and add btree_counter
2013-12-11 17:00:57 +00:00