Joe Thornber
2860b4c0b1
[thin_check] rename --fix-metadata-leaks to --auto-repair
...
This flag will cover all trivial fixes, such as data leaks.
2020-08-12 10:45:20 +01:00
Ming-Hung Tsai
b278f4ffa4
[thin_check] Change the policy of --clear-needs-check-flag to prevent error recurrence
...
- Disallow clearing the needs_check flag if there's any error,
i.e., the metadata must be fully examined, and the result must
be NO_ERROR.
- Disallow combining --clear-needs-check with -m, --super-blocks-only,
--skip-mappings, --override-mapping-root, or --ignore-non-fatal-errors.
2020-07-30 23:00:50 +08:00
Ming-Hung Tsai
49efa06ffa
[thin_check] Support fixing leaked metadata blocks
...
- The leaked blocks are defined as allocated but not used ones,
i.e., expected ref-count == 0 and actual ref-count <= 2.
- Blocks with expected ref-count > 0, or actual ref-count > 2,
are treated as unrepairable leaks.
- The fixing processing won't be executed if there's any
unrepairable leak or errors.
- The fixing process implicitly clearing the superblock
needs_check flag if there's no error.
2020-07-30 23:00:50 +08:00
Joe Thornber
fec11289b0
[thin_check/dump] Under populated nodes are now 'non fatal errors'
...
thin_dump always ignores non-fatal-errors.
2020-07-02 16:03:23 +01:00
Joe Thornber
0b5afc6cb0
[thin_check] fix bugs in thin_check -m
2020-06-12 13:41:47 +01:00
Joe Thornber
86704deacb
[thin_check] Add support for --metadata-snap.
...
Not tested yet.
2020-06-09 14:25:19 +01:00
Joe Thornber
16a10d2554
[thin_check] Remove the metadata_checker base class.
...
It's really only a single method.
2020-05-28 14:43:03 +01:00
Joe Thornber
e801cc607b
[block_manager] Hard code block size to 4k.
...
We're never going to use anything other than 4k, and by hard coding it we
avoid making block_manager a template.
2020-04-30 14:30:01 +01:00
Ming-Hung Tsai
c85ea5ef76
[thin_check] factor out metadata_checker
2020-02-17 11:42:24 +00:00
Joe Thornber
b777a77023
[thin-provisioning] pass the tm by reference to the metadata object
2019-04-04 15:06:41 +01:00
Joe Thornber
d1a41d01cc
[thin-check] print out some info fields.
...
These are consumed by lvm.
2018-11-09 12:43:21 +00:00
csonto
5b5aa971a0
Detect XML in *_check tools ( #86 )
...
* [*_check] Detect XML in cache_check and era_check
This is based on previous commit b10d8d4440
.
* [*_check] Fix typo in check_superblock
2017-10-05 13:47:10 +01:00
Joe Thornber
3c761e6822
[all tools] Factor out open_bm() and open_tm.
...
Many duplicates of this code.
2017-10-05 11:53:40 +01:00
Joe Thornber
24931b3bda
[thin_check] --override-mapping-root
2017-10-04 11:43:13 +01:00
Joe Thornber
b10d8d4440
[thin_check] Spot XML and be helpful.
2017-09-15 15:22:04 +01:00
Joe Thornber
3c02151a4f
Merge branch 'master' into v0.7-devel
...
Conflicts:
persistent-data/file_utils.cc
persistent-data/file_utils.h
2016-04-05 13:13:10 +01:00
Ming-Hung Tsai
f20e2a0f40
[thin_check] cleanup: use metadata_counter
2016-04-05 16:09:58 +08:00
Joe Thornber
8676198e76
[file_utils] rename get_nr_blocks() -> get_nr_metadata_blocks() and introduce get_nr_blocks()
2016-03-04 10:43:58 +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
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
082491d140
thin_check: tidy up some unintuitive code
2015-06-22 11:13:19 +01:00
Joe Thornber
270c0f7041
[thin_check] factor out check_space_map_counts()
2015-04-08 14:07:38 +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
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
6f8b7e2914
[all] Build a single executable
2014-08-27 14:01:31 +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
d517684c95
Initial code drop for merging block_cache
2014-07-22 16:41:39 +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
c3249ff757
[thin_check] --clear-needs-check-flag
2014-03-27 12:00:17 +00:00
Joe Thornber
50d1a3e7d2
[thin_check] inc superblock and metadata snap in space map checking
2014-02-20 16:36:03 +00:00
Joe Thornber
9f6546f621
put space map checking back in
2014-02-19 16:08:05 +00:00
Joe Thornber
9dc4a97cb7
[thin_check] thin_check wasn't giving a non-zero exit code for damage in mapping trees
2013-10-15 10:40:26 +01:00
Joe Thornber
6615b25e4b
WIP on cache tools
2013-09-11 11:40:46 +01:00
Joe Thornber
67551d81f1
Put error_state into into it's own file.
2013-08-16 14:07:04 +01:00
Joe Thornber
94bd3aef3b
Put nested_output in it's own file
2013-08-16 13:48:25 +01:00
Joe Thornber
500e508c6d
fix up some coverity issues
2013-08-15 16:26:17 +01:00
Joe Thornber
77286e0bc7
Take out some 'typename's to support older versions of gcc (Heinz).
2013-08-15 10:35:07 +01:00
Joe Thornber
0029962f20
Give up with --std=c++11
...
There are too many distros that use old versions of g++ that don't support it adequately.
2013-08-08 10:49:59 +01:00
Heinz Mauelshagen
e16b7c8ea0
Fluff
2013-07-29 12:29:05 +02:00
Heinz Mauelshagen
f376fdfb49
thin_check.cc: remove superfluous 'if (enabled)'
2013-06-21 12:35:06 +02:00
Heinz Mauelshagen
9900c91c1b
thin_check.cc: support --quiet in nested_output
2013-06-21 12:35:06 +02:00
Heinz Mauelshagen
5d6a3c184b
thin_check.cc: remove superfluous 'if (enabled)'
2013-06-19 14:15:53 +02:00
Heinz Mauelshagen
41287e182f
thin_check.cc: support --quiet in nested_output
2013-06-19 14:12:44 +02:00
Heinz Mauelshagen
88f9252a03
thin_check.cc: reenable --quiet option
2013-06-19 13:41:29 +02:00
Joe Thornber
5498e0bc46
[thin_check] fluff
2013-05-23 13:57:15 +01:00
Joe Thornber
063769cd12
[thin_check] we don't need to import the persistent_data namespace any more.
2013-05-23 12:00:36 +01:00
Joe Thornber
e7303a11c6
[thin_check] --ignore-non-fatal-errors
2013-05-23 11:57:02 +01:00
Joe Thornber
84858ab86e
whitespace
2013-05-23 11:46:06 +01:00
Joe Thornber
f8efc4f58c
[thin_check] Add cucumber test for --skip-mappings
2013-05-23 11:45:08 +01:00