Joe Thornber
a21f97e405
[space map disk] Add get_nr_blocks_in_data_sm()
...
which just uses the root
2016-03-21 17:16:41 +00:00
Joe Thornber
c6844dc7e6
[metadata space map] Restrict space map size
...
Previously it would crash with v. large metadata areas.
2015-06-24 16:32:17 +01:00
Joe Thornber
34df640d8d
[metadata space map] index bitmap root wasn't being counted in count_metadata()
2015-04-08 12:32:00 +01:00
Joe Thornber
ee200ba85b
Merge branch 'master' into space-map-checking
2015-04-07 12:18:23 +01:00
Joe Thornber
f25e0ca6d3
g++-4.2 and older doesn't accept binary constants.
...
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
2015-01-16 10:15:55 +00: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
5c82d50204
remove some debug
2014-07-28 14:32:20 +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
9f6546f621
put space map checking back in
2014-02-19 16:08:05 +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
8049d369a9
stuff
2013-12-11 17:28:14 +00:00
Joe Thornber
983a5e84e6
Move endian_utils to base/
2013-11-19 10:23:35 +00:00
Joe Thornber
dd65089b68
sort out some #includes
2013-10-23 11:39:31 +01:00
Joe Thornber
eb8d4c6f0b
Get tools building with g++ 4.8.1
2013-06-25 13:48:02 +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
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
5367631c8c
[various data structures] Reuse validators rather than always creating a new one.
2013-04-26 14:15:20 +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
Joe Thornber
0a70c17268
Convert bitset_t to gmock
2013-03-22 14:36:31 +00:00
Joe Thornber
7d18b08b91
rename NoOpRefCounter -> no_op_ref_counter
2013-02-01 14:49:26 +00:00
Joe Thornber
326fd3408b
move space maps to their own sub directory
2013-01-10 21:36:38 +00:00