Commit Graph

106 Commits

Author SHA1 Message Date
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
Joe Thornber
7224639d14 Merge branch 'master' of github.com:jthornber/thin-provisioning-tools 2013-12-09 12:47:26 +00:00
Joe Thornber
7a2c41022f Remove some 'typename's since older versions of g++ don't like. 2013-12-09 12:46:46 +00:00
Joe Thornber
9a65e7707c Merge branch 'master' of github.com:jthornber/thin-provisioning-tools into era 2013-12-09 10:42:28 +00:00
Joe Thornber
7a2d43268d [array] damage reported if the array is smaller than claimed in the ctr 2013-12-03 15:04:16 +00:00
Joe Thornber
983a5e84e6 Move endian_utils to base/ 2013-11-19 10:23:35 +00:00
Joe Thornber
180f7e6187 persistent-data/data-structures/bloom_filter 2013-11-18 13:08:07 +00:00
Joe Thornber
9402f09408 [bitset] tweak an exception message 2013-11-18 13:07:21 +00:00
Joe Thornber
b32a3b9fb9 [bitset] get_nr_bits() method 2013-11-18 13:07:08 +00:00
Joe Thornber
fd061fab15 [bitset] change the name of the #include guard 2013-11-18 13:06:35 +00:00
Denys Duchier
3a4c06b772 use persistent-data::bitset to avoid ambiguity 2013-11-16 21:42:23 +01:00
Joe Thornber
0fe7dddd8a whitespace 2013-10-15 10:51:35 +01:00
Joe Thornber
ea15a329d7 [cache_check] Now checks discard bitset 2013-10-11 10:22:02 +01:00