Commit Graph

1229 Commits

Author SHA1 Message Date
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
Zdenek Kabelac
271ff67f91 Cache check close RO opened device before reopen.
When check_check is used with --clear-needs-check-flag option,
device needs to be opened in RW exclusive mode, but for this
existing RO exlusive open must be closed.

LVM2 will consider version 0.5.3 as a version without flag support
for cache_check since it cannot successfully pass cache_check.

TODO: when 'RO' parts detects there is nothing to 'clear' it should
completely skip RW open to avoid udev rule processing.
2015-07-28 14:37:44 +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
e476515087 Merge pull request #19 from aholler/master
Fix compilation bugs with CXXFLAGS=-std=gnu++11 together with gcc 4.8.3 and boost 1.55
2014-11-15 16:14:27 +00:00
Alexander Holler
b56aec4d96 [unit-tests/bloom_filter_t.cc] Fix ambigious uniform_int_distribution (C++11)
uniform_int_distribution exist in the namespace boost as well as in std
of C++11. Use the one provided by boost.

This fixes compilation bugs with CXXFLAGS=-std=gnu++11 together with
gcc 4.8.3 and boost 1.55.
2014-11-15 16:49:08 +01:00
Alexander Holler
691ad88261 [caching/hint_array.cc] Fix ambigious array (C++11)
Template array exist in the namespace persistent_data as well as in std
of C++11. Explicitly use the one from persistent_data.

This fixes compilation bugs with CXXFLAGS=-std=gnu++11 together with
gcc 4.8.3 and boost 1.55.
2014-11-15 16:49:08 +01:00
Alexander Holler
baa70ecfe4 [caching/hint_array.cc] Fix ambigious shared_ptr (C++11)
Class shared_ptr exist in the namespace std for C++11 as well as in boost.
Explicitly use the one from boost in order to be compatible.

This fixes compilation bugs with CXXFLAGS=-std=gnu++11 together with
gcc 4.8.3 and boost 1.55.
2014-11-15 16:49:08 +01:00
Alexander Holler
92345b4b64 [persistent-data/space_map.h] Make destructor for space_map_detail::damage public
The compiler is unable to create a default desctructor for the derived
class missing_counts if the virtual destructor for the class damage is
private.

This fixes compilation bugs with CXXFLAGS=-std=gnu++11 together with
gcc 4.8.3 and boost 1.55.
2014-11-15 16:48:53 +01:00