Joe Thornber
7f6bdf2acf
Add callgrind files to the ignore file
2014-08-26 11:24:07 +01:00
Joe Thornber
d17ad86a88
[*_restore] Use a little wrapper class for the expat XML_Parser to ensure it gets destroyed.
2014-08-26 11:23:29 +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
930cc9d412
[block-manager] Superblocks weren't being marked as DIRTY
...
Gulp
2014-08-21 14:25:02 +01:00
Joe Thornber
b493a30b65
[block-cache] tweak when validators are swapped
...
Makes it more consitent in the face of exceptions
2014-08-21 14:23:14 +01:00
Joe Thornber
6f760ccd87
[block-cache] When changing validators the new validator check fn was only being called if the block was dirty.
2014-08-21 14:22:14 +01:00
Joe Thornber
b5a9cd6043
[block-cache] Create just one noop_validator
...
No need to create a separate one for each block.
2014-08-21 14:20:36 +01:00
Joe Thornber
4799becb01
[block-cache] fix leaking validators
...
The memory for the blocks is explicitly managed, and the destructors
for the blocks wasn't being called.
2014-08-21 14:19:36 +01:00
Joe Thornber
0d3942cae8
[block-manager] ensure the superblock cannot be taken concurrently with any other lock.
2014-08-21 12:18:05 +01:00
Joe Thornber
3724f78a13
[block_t] Fix a validator test
2014-08-21 11:51:04 +01:00
Joe Thornber
e3d459a148
[era_restore] add some cucumber tests
2014-08-21 11:27:52 +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
1a632f9d53
[era/xml restorer] bug fixes
2014-08-21 11:22:12 +01:00
Joe Thornber
5465c95134
[era/xml format] bring in line with the Ruby library
2014-08-21 11:21:47 +01:00
Joe Thornber
85ab149685
[era/metadata.{h,cc}] Support creation of new metadata
2014-08-21 11:20:43 +01:00
Joe Thornber
bf1b65e62f
Update gemfile.lock
2014-08-21 11:18:06 +01:00
Joe Thornber
6f804cab24
[block_manager] Track the number of superblocks, throw an exception if someone tries to open two a once.
2014-08-21 11:17:20 +01:00
Joe Thornber
94356a1648
[era_check] Was returning after just checking the superblock.
...
Presumably old debug.
2014-08-15 10:11:35 +01:00
Joe Thornber
157eca4dd0
[era_restore] tweak help message
2014-08-12 10:20:29 +01:00
Joe Thornber
75a797253e
[build] build era_restore by default
2014-08-12 10:18:58 +01:00
Joe Thornber
ad38cfe9c9
[block cache] Comment out the statistics output for now
2014-08-12 10:15:14 +01:00
Joe Thornber
56e79676f3
update Gemfile.lock
2014-08-12 10:09:30 +01:00
Joe Thornber
283ab4ad99
first drop of era_restore
2014-08-07 15:43:01 +01:00
Joe Thornber
1d12d0ff8e
remove empty destructor
2014-08-07 15:42:10 +01:00
Joe Thornber
936e14441f
Merge branch 'master' of github.com:jthornber/thin-provisioning-tools
2014-08-06 16:32:04 +01:00
Joe Thornber
8f73241119
[era] parser for the XML format
2014-08-06 16:30:38 +01:00
Joe Thornber
3e5c02459c
whitespace
2014-08-06 16:30:26 +01:00
Joe Thornber
efe597f097
[README] Add dep for libaio
2014-08-06 16:29:50 +01:00
Joe Thornber
7e2ea38534
[configure.ac] Make sure libaio.h is present, and remove deps for a couple of boost headers we're no longer using.
2014-08-06 16:27:18 +01:00
Joe Thornber
1d38b390b5
Factor common code out of the xml_format files.
2014-08-06 15:29:02 +01:00
Joe Thornber
d8f678b079
Rename configure.in to configure.ac to stop auto tools bleating
2014-08-06 15:20:40 +01:00
Joe Thornber
a75a2118a0
era_invalidate: update help to reflect --metadata-snapshot
2014-08-06 11:15:18 +01:00
Joe Thornber
aa08c8393a
Man pages were being installed in a v. funny place.
2014-08-06 11:14:15 +01:00
Joe Thornber
672582b2a8
Install era manpages
2014-08-06 11:10:22 +01:00
Joe Thornber
bdec4b353c
tweak some man pages
2014-08-06 10:33:23 +01:00
Joe Thornber
41ade2a259
Add era_invalidate manpage
2014-08-06 10:32:39 +01:00
Joe Thornber
a2d6e86c51
Add era_dump man page.
2014-08-05 15:43:54 +01:00
Joe Thornber
460c0ef8d2
era_check man page
2014-08-05 15:17:43 +01:00
Joe Thornber
48c6dc0762
Flush the block cache stats when they're complete
2014-08-05 14:53:03 +01:00
Joe Thornber
bf138c2a50
update gem lock file
2014-08-05 14:50:35 +01:00
Joe Thornber
ea62f6e06e
add changes file
2014-08-05 12:21:06 +01:00
Joe Thornber
d00aef9219
[thini_restore] add a quiet option to turn off the progress monitor
2014-08-05 12:10:34 +01:00
Joe Thornber
fccc1dfcb0
[thin_restore] Add a progress monitor
2014-08-05 11:47:57 +01:00
Joe Thornber
8321bdcf59
Merge pull request #13 from bgilbert/fix-units
...
thin_metadata_size: Fix long names of units
2014-08-05 09:34:37 +01:00
Joe Thornber
f534664f96
Add stats to block cache and remove the info fn
2014-07-31 12:18:01 +01:00
Joe Thornber
eee9004354
whitespace
2014-07-30 12:27:33 +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
a99d6896a8
Fix a bug in the block cache read path.
2014-07-29 13:41:45 +01:00
Joe Thornber
f06a2673c5
wip
2014-07-29 11:34:26 +01:00
Joe Thornber
d482a76bda
Use placement new to initialise the blocks
2014-07-28 14:32:33 +01:00
Joe Thornber
5c82d50204
remove some debug
2014-07-28 14:32:20 +01:00
Joe Thornber
840be1b6c9
wip
2014-07-28 14:13:28 +01:00
Joe Thornber
ab6d31f136
fluff
2014-07-25 17:53:37 +01:00
Joe Thornber
ecb6bee2b2
prefetch btree nodes when walking a tree
2014-07-25 16:32:59 +01:00
Joe Thornber
11469a2fda
Beginning to work
2014-07-25 16:14:24 +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
d9040949fc
forgot block_cache itself
2014-07-22 16:43:44 +01:00
Joe Thornber
d517684c95
Initial code drop for merging block_cache
2014-07-22 16:41:39 +01:00
Joe Thornber
fbce4d96f4
[cache_metadata_size] tweak an error message
2014-07-21 11:58:48 +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
9d63576ed3
Merge branch 'master' of github.com:jthornber/thin-provisioning-tools
2014-06-26 15:36:41 +01:00
Joe Thornber
5e3f4cf532
[era] Provide a default ctr for era_detail to quieten coverity
2014-06-26 15:35:48 +01:00
Joe Thornber
37f4c38ec3
[era/writeset_tree] Initialise era_ in the ctr to quieten coverity
2014-06-26 15:29:33 +01:00
Joe Thornber
d3687db3a8
[bloom filter] remove an unused data member
2014-06-26 15:26:39 +01:00
Joe Thornber
e4d82d04bd
[thin_delta] Fix bug when detecting right_only mappings
2014-06-17 16:20:38 +01:00
Joe Thornber
c8f408ac3c
[thin_delta] Update the usage
2014-06-17 15:00:38 +01:00
Joe Thornber
bb57104542
[thin_delta] By default output a simpler format that ignores the data locations.
...
Most people will access the data via the thin device itself, so
there's really no need to output the locations of the data on pool
device. Doing this allows us to run together adjacent thin blocks
(even if they are not adjacent on the pool dev).
Simple format:
<same begin="0" length="1"/>
<different begin="1" length="4"/>
<same begin="5" length="1"/>
<different begin="6" length="6"/>
<same begin="12" length="1"/>
<different begin="13" length="9"/>
<same begin="22" length="1"/>
<different begin="23" length="4"/>
<same begin="27" length="1"/>
<different begin="28" length="3"/>
<same begin="31" length="1"/>
<different begin="32" length="1"/>
The old format is available using the --verbose switch:
<same>
<range begin="0" data_begin="0" length="1"/>
</same>
<different>
<range begin="1" left_data_begin="24576" right_data_begin="16384" length="1"/>
<range begin="2" left_data_begin="24577" right_data_begin="2" length="1"/>
<range begin="3" left_data_begin="24578" right_data_begin="16385" length="1"/>
<range begin="4" left_data_begin="24579" right_data_begin="4" length="1"/>
</different>
<same>
<range begin="5" data_begin="5" length="1"/>
</same>
<different>
<range begin="6" left_data_begin="24580" right_data_begin="16386" length="1"/>
<range begin="7" left_data_begin="7" right_data_begin="16387" length="1"/>
<range begin="8" left_data_begin="24581" right_data_begin="8" length="1"/>
<range begin="9" left_data_begin="24582" right_data_begin="16388" length="1"/>
<range begin="10" left_data_begin="10" right_data_begin="16389" length="1"/>
<range begin="11" left_data_begin="24583" right_data_begin="11" length="1"/>
</different>
<same>
<range begin="12" data_begin="12" length="1"/>
</same>
<different>
<range begin="13" left_data_begin="24584" right_data_begin="13" length="1"/>
<range begin="14" left_data_begin="24585" right_data_begin="16390" length="1"/>
<range begin="15" left_data_begin="24586" right_data_begin="15" length="1"/>
<range begin="16" left_data_begin="16" right_data_begin="16391" length="1"/>
<range begin="17" left_data_begin="24587" right_data_begin="16392" length="1"/>
<range begin="18" left_data_begin="18" right_data_begin="16393" length="3"/>
<range begin="21" left_data_begin="24588" right_data_begin="21" length="1"/>
</different>
<same>
<range begin="22" data_begin="22" length="1"/>
</same>
<different>
<range begin="23" left_data_begin="24589" right_data_begin="23" length="1"/>
<range begin="24" left_data_begin="24590" right_data_begin="16396" length="1"/>
<range begin="25" left_data_begin="24591" right_data_begin="25" length="1"/>
<range begin="26" left_data_begin="26" right_data_begin="16397" length="1"/>
</different>
<same>
<range begin="27" data_begin="27" length="1"/>
</same>
<different>
<range begin="28" left_data_begin="24592" right_data_begin="28" length="2"/>
<range begin="30" left_data_begin="30" right_data_begin="16398" length="1"/>
</different>
<same>
<range begin="31" data_begin="31" length="1"/>
</same>
<different>
<range begin="32" left_data_begin="24594" right_data_begin="32" length="1"/>
</different>
2014-06-17 14:20:33 +01:00
Joe Thornber
0e62a1c4de
[thin_delta] provide a more complete diff output.
2014-06-17 12:39:13 +01:00
Joe Thornber
f80c2dc77f
[thin_delta] Don't use endl which also flushes
2014-06-16 13:58:25 +01:00
Joe Thornber
c5c699e563
whitespace
2014-06-16 13:44:43 +01:00
Joe Thornber
d7d293ee4f
thin_delta now works
2014-06-10 16:38:20 +01:00
Joe Thornber
d1989f4a14
whitespace
2014-06-10 16:38:10 +01:00
Joe Thornber
e851b35954
[thin_delta] read in the snaps and dev
2014-06-09 13:26:55 +01:00
Joe Thornber
b03fa373a1
[thin_delta] Print usage on unrecognised switch
2014-06-09 10:51:10 +01:00
Joe Thornber
83f2cce597
[thin_delta] -h/--help
2014-06-09 10:48:29 +01:00
Joe Thornber
87fa6dc079
[thin_delta] --version/-V
2014-06-09 10:37:46 +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
cf5d2e3225
bump version
2014-04-11 14:11:59 +01:00
Joe Thornber
05b18a5b99
[thin_check] Fix bug in clear needs check logic.
...
Mixed up bools and int returns.
2014-04-02 13:43:16 +01:00
Joe Thornber
7eabc78d6d
[era] qualify btiset
2014-04-01 17:43:15 +01:00
Joe Thornber
c802bf81d5
bump version
2014-04-01 16:40:14 +01:00
Joe Thornber
47ec37a9fd
[thin tools] fix ambiguous reference to 'bitset'
2014-04-01 16:39:45 +01:00
Joe Thornber
df8447de3d
bump version
2014-03-27 12:24:31 +00:00
Joe Thornber
8c24419238
Knock out the era_superblock_t for now.
...
It's still got some bloom stuff in it. Will tidy up after release.
2014-03-27 12:23:00 +00:00
Joe Thornber
c3249ff757
[thin_check] --clear-needs-check-flag
2014-03-27 12:00:17 +00:00
Joe Thornber
fe019f6946
install era tools
2014-03-06 16:30:33 +00:00
Joe Thornber
49e59ca781
[era_dump] add --logical
2014-02-14 14:35:25 +00:00
Joe Thornber
54f38e6702
[era_invalidate] Change to output ranges.
2014-02-12 11:49:41 +00:00
Joe Thornber
5fe5d213b7
Merge branch 'master' of github.com:jthornber/thin-provisioning-tools into era
...
Conflicts:
Makefile.in
2014-01-31 22:35:04 +00:00
Joe Thornber
d3afa57082
era_invalidate
2014-01-31 16:31:27 +00:00
Joe Thornber
344f4b1e08
Factor out base/indented_stream.h
2014-01-31 13:43:39 +00:00
Joe Thornber
8531a2befa
[era] switch from bloom filters to writesets
2014-01-29 21:37:25 +00:00
Joe Thornber
e7bbfbc1fd
update ignore file
2014-01-23 00:46:29 +00:00
Joe Thornber
9e0540e1b6
era_check, era_dump
2014-01-23 00:46:03 +00:00
Joe Thornber
2f1789744f
[caching] add missing break in cache_metadata_size
2014-01-15 16:48:46 +00:00
Joe Thornber
ef6066e2cd
Merge branch 'master' of github.com:jthornber/thin-provisioning-tools
2014-01-15 15:52:33 +00:00