Commit Graph

138 Commits

Author SHA1 Message Date
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
1d12d0ff8e remove empty destructor 2014-08-07 15:42:10 +01:00
Joe Thornber
3e5c02459c whitespace 2014-08-06 16:30:26 +01:00
Joe Thornber
1d38b390b5 Factor common code out of the xml_format files. 2014-08-06 15:29:02 +01:00
Joe Thornber
f06a2673c5 wip 2014-07-29 11:34:26 +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
d517684c95 Initial code drop for merging block_cache 2014-07-22 16:41:39 +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
c5c699e563 whitespace 2014-06-16 13:44:43 +01:00
root
ebb49db5d3 cache_calc_blocks; tidy up the calculation of nr blocks 2014-06-16 13:42:13 +01: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
344f4b1e08 Factor out base/indented_stream.h 2014-01-31 13:43:39 +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
Joe Thornber
cbbdfc37da [cache] cache_metadata_size 2014-01-15 15:52:05 +00:00
Joe Thornber
81fa131748 [cache_check] --super-block-only rather than --superblock-only
Be consistent with help and thin_check
2014-01-08 20:05:55 +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
7a2c41022f Remove some 'typename's since older versions of g++ don't like. 2013-12-09 12:46:46 +00:00
Joe Thornber
ecf6692d0f [cache_dump] Only dump the hints array if it exists.
Fixes a null shared ptr bug.
2013-12-09 11:10:49 +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
c00c832378 Merge branch 'master' of github.com:jthornber/thin-provisioning-tools 2013-12-02 12:07:33 +00:00
Joe Thornber
983a5e84e6 Move endian_utils to base/ 2013-11-19 10:23:35 +00:00
Denys Duchier
3a4c06b772 use persistent-data::bitset to avoid ambiguity 2013-11-16 21:42:23 +01:00
Joe Thornber
31ce9a03fa cache_restore --omit-clean-shutdown 2013-10-29 12:46:23 +00:00
Joe Thornber
dcf4b0a99c [cache_restore] Set the clean shutdown flag before the final commit 2013-10-29 11:35:32 +00:00
Joe Thornber
471abe52b9 [caching] superblock_flags.clear_flag() 2013-10-29 11:35:05 +00:00
Joe Thornber
20bf22e662 [caching] handle VARIABLE_HINT_SIZE incompat flag 2013-10-17 11:45:20 +01:00
Joe Thornber
d3187d25f5 [caching] superblock field wasn't getting initialised in default ctr 2013-10-17 10:08:43 +01:00
Joe Thornber
f8633da296 [cache_restore] --debug-override-metadata-version
A flag that deliberately causes the wrong metadata version to be
written.  Useful for testing the kernel module.
2013-10-15 10:24:12 +01:00
Joe Thornber
3b11749dcf [caching tools] handle version 1 metadata where policy_hint_width is zero 2013-10-14 12:40:13 +01:00
Joe Thornber
b177275816 Merge branch 'master' of github.com:jthornber/thin-provisioning-tools 2013-10-11 13:35:21 +01:00
Joe Thornber
9a24867281 [caching/superblock] policy_version[] was in the wrong place in structure. 2013-10-11 13:35:01 +01:00
Joe Thornber
d2e81a0a19 [caching] introduce superblock_flags class 2013-10-11 13:32:57 +01:00
Joe Thornber
764ee0b0c5 [cache_check] tweak exception handling; there was a window where they weren't caught 2013-10-11 11:04:06 +01:00
Joe Thornber
ead63cd251 [caching/superblock] remove some old debug 2013-10-11 11:02:54 +01:00
Joe Thornber
6aae6aabb4 [caching/metadata] superblock was being zeroed on creation, rather than letting the constructor do it's stuff. 2013-10-11 11:02:04 +01:00
Joe Thornber
d54bc41026 [cache_check] fixup version number 2013-10-11 10:33:32 +01:00
Joe Thornber
ea15a329d7 [cache_check] Now checks discard bitset 2013-10-11 10:22:02 +01:00
Joe Thornber
6b6f2290a7 [cache_dump/restore] add discards to the xml format 2013-10-11 10:03:51 +01:00
Joe Thornber
5dbaf8371c [caching] start wiring up the discard bitset 2013-10-10 13:08:04 +01:00
Joe Thornber
e9e46e871f [caching/xml_format] '/' was ommitted from hint tags 2013-10-10 11:38:28 +01:00
Joe Thornber
b443000a29 [caching/metadata_dump] valid_blocks should have been passed by reference 2013-10-10 11:27:34 +01:00
Joe Thornber
8af2f0cb1f [caching/metadata] setup the hint array when reopening metadata 2013-10-10 11:26:55 +01:00
Joe Thornber
8cfffe309c [caching/hint_array] resize the destination before unpacking a hint 2013-10-10 11:26:13 +01:00
Joe Thornber
3d8eab2974 [caching/xml_format] hints weren't being indented 2013-10-10 11:25:29 +01:00
Joe Thornber
d5a93691e1 [cache_dump/restore] Use base64 encoding for the hints 2013-10-10 10:34:37 +01:00
Joe Thornber
83f1e4bdd9 [caching/metadata_dump] only dump valid hints 2013-10-09 10:49:53 +01:00
Joe Thornber
c6487fd283 [cache_repair] written 2013-10-09 10:42:14 +01:00
Joe Thornber
9b9b7771e9 [caching] factor metadata_dump out of cache_dump 2013-10-09 10:22:06 +01:00
Joe Thornber
97f4f0b0bb [cache_dump] hints are dumped, and respect --repair 2013-10-09 09:48:20 +01:00
Joe Thornber
19a1596591 [caching/hint_array] add walk method 2013-10-09 09:45:17 +01:00
Joe Thornber
d02b3b6399 [cache_dump] dumping mappings respects --repair 2013-10-08 12:41:40 +01:00
Joe Thornber
024216a5ff [caching] a couple of methods didn't need to be virtual 2013-10-08 12:39:34 +01:00
Joe Thornber
08142c0c66 [caching] introduce walk_mapping_array() 2013-10-08 12:12:01 +01:00
Joe Thornber
2ecf051336 [cache_dump] add --repair flag (not functional yet) 2013-10-08 11:54:22 +01:00
Joe Thornber
505cf95109 [cache_check] --super-block-only, --skip-mappings, --skip-hints 2013-10-08 11:34:10 +01:00
Joe Thornber
a20b50815e [cache_check] remove some dead code 2013-10-08 11:17:20 +01:00
Joe Thornber
be22981a7d [ache_check] hint array damage reporting 2013-10-08 11:00:05 +01:00
Joe Thornber
ddf5765f9c [caching] damage visitor and checker for hint array 2013-10-08 10:43:20 +01:00
Joe Thornber
7da033d5c1 [hint_array] move hint_traits to .cc file 2013-10-08 10:02:25 +01:00
Joe Thornber
19b5c6193f [cache_check] detect duplicate mappings or unknown mapping flags 2013-10-08 09:59:16 +01:00
Joe Thornber
81a72c8a35 [cache_check] mapping damage reporter 2013-10-08 09:36:20 +01:00
Joe Thornber
96143f0bed [caching/mapping_array] namespace tweaking 2013-10-08 09:11:04 +01:00
Joe Thornber
42fd6b928b [cache_check] A whole bunch of superblock checks 2013-10-07 15:21:45 +01:00
Joe Thornber
fd7c539a58 [cache_check] Errors weren't being propagated up to the exit code 2013-10-04 16:08:31 +01:00
Joe Thornber
e7223037d4 [cache_check] wip 2013-10-02 10:50:42 +01:00
Joe Thornber
b1f5807513 [caching/mapping_array] add damage visitor 2013-10-02 10:50:13 +01:00
Joe Thornber
bb898eeaad [cache_restore/dump] hint_width work.
dump/restore cycle works again.
2013-09-26 11:36:01 +01:00
Joe Thornber
bd1a189298 [caching] change the emitter->hint value type 2013-09-24 12:37:27 +01:00
Joe Thornber
8408ab12f8 [caching] add grow method to the hint_array wrapper 2013-09-24 12:12:57 +01:00
Joe Thornber
17f7c982f2 [caching] hint support 2013-09-24 12:00:09 +01:00
Joe Thornber
2e58332e49 [cache_restore/dump] mappings dump restore ok now 2013-09-23 11:15:41 +01:00
Joe Thornber
61e90998c0 [cache_dump, cache_restore] restore/dump cycle works 2013-09-19 13:45:56 +01:00
Joe Thornber
c476de1756 [cache_restore] more wip 2013-09-18 13:00:26 +01:00
Joe Thornber
14122d6875 Move check_file_exists() to file_utils.{h,cc} 2013-09-16 13:42:39 +01:00
Joe Thornber
41864f041f hint_array pack/unpack 2013-09-12 14:42:59 +01:00
Joe Thornber
a05d75611e mapping_array.cc 2013-09-12 14:21:25 +01:00
Joe Thornber
dadb32d15f some work on cache_restore 2013-09-12 12:33:32 +01:00
Joe Thornber
6615b25e4b WIP on cache tools 2013-09-11 11:40:46 +01:00
Joe Thornber
d3ce6b811b Start stubbing out cache_dump 2013-08-19 12:40:03 +01:00
Joe Thornber
4360c8cbff Some work on cache_check and cache_restore 2013-08-16 16:29:41 +01:00
Joe Thornber
67551d81f1 Put error_state into into it's own file. 2013-08-16 14:07:04 +01:00
Joe Thornber
1e925d4cf1 caching/superblock.{h,cc} 2013-08-16 13:39:12 +01:00