Commit Graph
100 Commits
Author SHA1 Message Date
Joe Thornber c8276a41f7 v0.6.2-rc5 2016-02-22 12:06:13 +00:00
Joe Thornber 0ec27c7835 [thin_delta] backport cherry-picked changes to c++98 2016-02-18 11:37:51 +00:00
Joe Thornber a21cee55c7 [thin-delta] fix bug in earlier refactor 2016-02-18 11:34:19 +00:00
Joe Thornber 2461cdce43 [thin_delta] tidy up the comparison function 2016-02-18 11:34:09 +00:00
Joe Thornber e4c5e5afb5 v0.6.2-rc4 2016-02-17 11:50:59 +00:00
Joe Thornber 768bbd2715 [thin_delta] Fix bug when comparing the mappings 2016-02-17 11:44:44 +00:00
Joe Thornber 09ce099c2f [thin_delta] set nr_data_blocks to zero if there are no space maps.
ie. a metadata_snap is being used.
2016-02-17 10:42:42 +00:00
Joe Thornber 8b792f5c79 [[build] Force gnu++98 standard 2016-02-16 15:02:29 +00:00
Joe Thornber 2815aeace9 [thin_repair] fix regression in thin_repair
When opening the corrupted metadata we don't need to touch the space
maps.  This used to be achieved by pretending we were opening a
metadata snap at block 0 (superblock location).  But got changed in
the recent rationalisation of the metadata constructors.

This patch introduces a bool to the metadata OPEN constructor that
says whether the space maps are needed or not.
2016-02-16 14:08:43 +00:00
Joe Thornber e46bdfd4cc v0.6.1 2016-02-10 14:28:49 +00:00
Joe Thornber 6101398b02 Merge branch 'master' of github.com:jthornber/thin-provisioning-tools 2016-02-10 14:25:50 +00:00
Joe Thornber c8c4442b2f [thin_dump] We can't give the number of data blocks with a metadata snap.
No space maps.
2016-02-10 13:34:07 +00:00
Joe Thornber dc08c78b46 [build] another go at static libc++ 2016-02-09 10:57:39 +00:00
Joe Thornber 244405ed5d [build] g++ versions prior to 4.5 don't support the --static-libstdc++ flag so hack around it 2016-02-08 11:58:19 +00:00
Joe Thornber ebd4981271 bump version 2016-02-04 15:29:47 +00:00
Joe Thornber 20bf5bb06d [build] add --enable-static-cxx config option
Links libstdc++ statically.
2016-02-04 15:26:33 +00:00
Joe Thornber 0fced25b3e [thin_dump, thin_restore] remove some dead code 2016-02-04 15:24:16 +00:00
Joe Thornber 20398f4209 Merge branch 'master' of github.com:jthornber/thin-provisioning-tools 2016-02-04 13:25:13 +00:00
Joe Thornber 1e0d2a16cc [disk_units] add missing header 2016-01-20 18:11:48 +00:00
Joe Thornber 5b922c0c9f Bump to v0.6.0 2016-01-20 15:43:21 +00:00
Joe Thornber c369045790 Merge branch 'master' of github.com:jthornber/thin-provisioning-tools
Conflicts:
	thin-provisioning/metadata.cc
	thin-provisioning/thin_trim.cc
2016-01-20 15:37:04 +00:00
Joe Thornber 04976a34fd [thin_ls] update man page with --no-headers 2016-01-20 14:47:38 +00:00
Joe Thornber f385198cfc [thin_ls] get it working with a metadata snap 2016-01-20 14:45:38 +00:00
Joe Thornber 8ec37aedd2 [thin_ls] add man page 2016-01-20 13:25:28 +00:00
Joe Thornber 7a4a5aa87e [thin_ls] fluff 2016-01-20 13:25:09 +00:00
Joe Thornber d858a43f07 [grid_layout] avoid extra newline at end of grid 2016-01-20 10:40:48 +00:00
Joe Thornber d19164a177 [disk_units] tweak rounding 2016-01-20 09:50:47 +00:00
Joe Thornber 944b9c0c57 [thin_ls] wire up -o 2016-01-20 06:59:55 +00:00
Joe Thornber e15b11edb1 [thin_ls, base] Factor out grid_layout 2016-01-20 06:58:59 +00:00
Joe Thornber 5aaa26fe34 [thin_ls] only run pass1 if needed 2016-01-19 15:50:15 +00:00
Joe Thornber f3e23c5417 [thin_ls] add --no-headers 2016-01-19 14:56:48 +00:00
Joe Thornber f6f38fbc1f [thin_ls] tweak enum names 2016-01-19 14:50:04 +00:00
Joe Thornber 070b7e6fe1 [disk_units] Don't put a space between numerator and unit 2016-01-19 14:44:06 +00:00
Joe Thornber 8030a98bd8 [thin_ls] add MAPPED_SECTORS, EXCLUSIVE_SECTORS, SHARED_SECTORS 2016-01-19 14:43:37 +00:00
Joe Thornber 3dd45e1ceb [thin_ls] tweak the field names 2016-01-19 14:30:13 +00:00
Joe Thornber 87d8d630f6 [thin_ls] more tidying 2016-01-19 14:16:02 +00:00
Joe Thornber c5a1a814f3 [thin_ls] rationalise the field names by using a static array of names 2016-01-19 14:11:31 +00:00
Joe Thornber d65bf29eb7 [thin_ls] change default fields 2016-01-19 13:54:15 +00:00
Joe Thornber 208fdd86e6 [thin_ls] add support for --format 2016-01-19 13:40:36 +00:00
Joe Thornber 7ce4e451ff [base, thin_ls] factor out disk_units code 2016-01-19 11:40:00 +00:00
Joe Thornber 47bd31da8d [thin_ls] more work on thin_ls 2016-01-19 11:16:25 +00:00
Joe Thornber c3973c044c [thin_ls] First code drop.
Output still needs formatting.  More testing needed in dmtest.
2016-01-12 15:02:19 +00:00
Joe Thornber c93e728ef4 [base] introduce a command type that gets registered with the app 2016-01-08 12:51:52 +00:00
Joe Thornber a709b9718b [thin] Make the metadata class resposible for locating metadata snapshots 2015-12-15 10:08:07 +00:00
Joe Thornber 30a3bf67d1 [thin tools] Change the metadata contructors to take a block_manager<>::ptr
Also check any metadata snap passed in matches what's in the superblock.
2015-12-14 15:29:57 +00:00
Joe Thornber 2b12854ecd bump version to 0.5.6 2015-09-08 10:20:42 +01:00
Joe Thornber 78b24dee19 [era_invalidate] Don't open in exclusive mode if using a metadata snap.
Patch from bobk-rey on github
2015-09-08 10:12:56 +01:00
Joe Thornber 29c2a949f4 remove a bit of debug 2015-08-13 14:56:30 +01:00
Joe Thornber 71aea2efcc add btree_disk_structures.h 2015-08-13 14:28:07 +01:00
Joe Thornber d63b73ea93 bump version 2015-08-13 13:50:36 +01:00
Joe Thornber 32e92ce897 update man pages to forbid running on live metadata 2015-08-13 13:39:20 +01:00
Joe Thornber 8fab56680c [all tools] Improve the error message if opening the metadata fails.
Remind the admin that you shouldn't run the tools on live data.
2015-08-13 12:57: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 5d28c05dc3 [thin_check] detail and mapping trees weren't being counted properly for the metadata snap.
This could result in block counts being unexpectedly non zero.
2015-08-04 15:14:02 +01:00
Joe Thornber b67cc29609 [btree] bad checksum exceptions now mention the block location 2015-08-04 15:12:41 +01:00
Joe Thornber 7134a58134 [thin_metadata_size] use floor rather than truncl 2015-07-30 11:45:13 +01:00
Joe Thornber 3a881e9513 [thin_delta] Allow optional arg when using -m 2015-07-28 11:29:00 +01:00
Joe Thornber 93fb540bd4 [thinp tools] move find_metadata_snap to superblock.cc 2015-07-27 14:30:09 +01:00
Joe Thornber 642ae6e7c2 Tools now open the metadata device in O_EXCL mode.
An attempt to stop people running the tools on active metadata.
2015-07-07 13:47:00 +01:00
Joe Thornber 7d8b6adf4e v0.5.2 2015-07-03 13:00:49 +01:00
Joe Thornber f85b7cef3f thin_dump, thin_check: Fix bug in damage reporting 2015-07-03 13:00:13 +01:00
Joe Thornber 33af9774ae v0.5.1 2015-06-25 10:51:24 +01: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 125cec0193 bump to version 0.5 2015-06-22 12:02:16 +01:00
Joe Thornber 4ee6df3a70 [cucumber tests] update thin_delta help output 2015-06-22 11:58:18 +01:00
Joe Thornber 082491d140 thin_check: tidy up some unintuitive code 2015-06-22 11:13:19 +01:00
Joe Thornber 6ab0833b2e cache_check: add --clear-needs-check 2015-06-09 14:01:22 +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 9de2b26c25 Merge branch 'master' of github.com:jthornber/thin-provisioning-tools 2015-04-13 16:57:14 +01:00
Joe Thornber 270c0f7041 [thin_check] factor out check_space_map_counts() 2015-04-08 14:07:38 +01:00
Joe Thornber a934ee69c4 [error_state] add a sneaky little stream operator to simplify combining error_states 2015-04-08 13:58:41 +01:00
Joe Thornber 0fee897fda [thin_check] A space map count being too high should be a NON_FATAL error. 2015-04-08 12:32:31 +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 20079f3d28 Pass tm's by reference 2015-04-07 13:31:45 +01:00
Joe Thornber ee200ba85b Merge branch 'master' into space-map-checking 2015-04-07 12:18:23 +01:00
Joe Thornber 7f643b7050 [thin] Use specific damage visitors to improve error messages.
There's now a damage visitor for dev_trees, mapping_trees and
single_mapping_trees.
2015-04-07 12:16:46 +01:00
Joe Thornber f581f34be8 add comment explaining mtree_traits 2015-04-07 12:10:38 +01:00
Joe Thornber cc44652cc3 [thin_delta] support metadata snapshots 2015-03-25 11:10:18 +00:00
Joe Thornber 0e72f772d0 [thin_delta] Add superblock and diff tags 2015-03-25 10:09:39 +00:00
Joe Thornber 182be112fa Add thin_delta to the build 2015-03-24 14:09:36 +00:00
Joe Thornber 055b64a9c0 Add a simple man page for thin_delta 2015-03-24 14:08:21 +00:00
Joe Thornber 45422dbf7a [thin_delta] Mappings were being missed off from the tail of a device 2015-03-24 13:36:45 +00:00
Joe Thornber 4d7da25859 Add thin_trim man page 2015-03-10 08:52:13 +00:00
Joe Thornber c6ae25417b Add missing include to thin_trim 2015-01-17 11:45:09 +00:00
Joe Thornber 408b38a0f8 Forgot error_string.h/cc from previous commit 2015-01-17 10:22:57 +00:00
Joe Thornber 25b4b526f4 Introduce error_string() as a portable replacement for strerror_r() 2015-01-16 12:54:09 +00:00
Joe Thornber f1130198e1 include libgen.h in application.cc for the declaration of basename.
Unfortunately it defines basename as a macro, so also change member
function name from basename() to get_basename().
2015-01-16 10:48:19 +00:00
Joe Thornber ef517035f1 The file boost/random/uniform_int_distribution.hpp was introduced in boost
version 1.47. If we have older Boost, use random numbers from libc.

Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
2015-01-16 10:19:25 +00:00
Joe Thornber 50341faa64 Fix these errors:
unit-tests/array_block_t.cc:38: error: using 'typename' outside of template
unit-tests/array_block_t.cc:39: error: using 'typename' outside of template
unit-tests/array_block_t.cc:40: error: using 'typename' outside of template

Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
2015-01-16 10:18:21 +00: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 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 fe64da2c7c Fix these errors:
thin-provisioning/thin_pool.cc:206: error: reference to 'sector_t' is ambiguous
./thin-provisioning/metadata.h:40: error: candidates are: typedef uint64_t thin_provisioning::sector_t
./block-cache/block_cache.h:20: error:                 typedef uint64_t bcache::sector_t
thin-provisioning/thin_pool.cc:206: error: reference to 'sector_t' is ambiguous
./thin-provisioning/metadata.h:40: error: candidates are: typedef uint64_t thin_provisioning::sector_t
./block-cache/block_cache.h:20: error:                 typedef uint64_t bcache::sector_t
thin-provisioning/thin_pool.cc:206: error: 'sector_t' does not name a type

Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
2015-01-16 10:14:28 +00:00
Joe Thornber 150a3c486d Fix these errors:
caching/superblock.cc:306: error: reference to 'validator' is ambiguous
caching/superblock.cc:271: error: candidates are: namespace validator { }
./block-cache/block_cache.h:22: error:                 class bcache::validator

caching/superblock.cc:316: error: reference to 'validator' is ambiguous
caching/superblock.cc:271: error: candidates are: namespace validator { }
./block-cache/block_cache.h:22: error:                 class bcache::validator

Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
2015-01-16 10:13:36 +00:00
Joe Thornber dd9bd206c6 Old glibc doesn't provide these macros, so we have to define them.
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
2015-01-16 10:12:30 +00:00
Joe Thornber 8e92158055 [thin_trim] first code drop.
No testing done as yet.
2014-11-18 16:03:03 +00:00
Joe Thornber 5fe9039d38 squash another compiler warning 2014-09-08 11:07:46 +01:00
Joe Thornber 2331204475 Update Gemfile 2014-09-04 11:52:12 +01:00