Joe Thornber
b10d8d4440
[thin_check] Spot XML and be helpful.
2017-09-15 15:22:04 +01:00
Joe Thornber
a424417475
[thin_delta] long opts weren't being terminated properly.
...
This caused a seg fault with an unknown switch
2017-09-15 12:28:19 +01:00
Ming-Hung Tsai
b7d418131d
Spin-off syscall-related file operations ( #78 )
...
* [file_utils] spin-off syscall-related file operations
1. Eliminate the potential circular dependency between
persistent-data/block.h and persistent-data/file_utils.h,
if the former one wants to include the latter.
2. Avoid namespace pollution by removing the "using namespace std"
declaration in block.tcc.
3. Correct the header hierarchy: base/xml_utils.h now no longer
depends on the higher-level persistent-data/file_utils.h
* [file_utils] support block files in get_file_length()
2017-04-29 18:51:52 +01:00
Joe Thornber
4c311cf6d4
Switch an auto_ptr to a unique_ptr
2017-03-13 13:20:52 +00:00
Thanos Makatos
73e583e662
remove debug print
2017-02-06 13:11:10 +03:00
Thanos Makatos
0c78d8d0c5
fix compilation for gcc 5.4.0
2016-09-07 13:49:36 +00:00
Ming-Hung Tsai
45dbc2593a
[thin_ll_restore] check preallocation of output file
2016-08-10 23:41:25 +08:00
Ming-Hung Tsai
6863db6f86
[thin] fix duplicated counting of mapped blocks in restore emitter
2016-08-10 23:40:48 +08:00
Joe Thornber
e6562c6110
thin_generate_metadata
2016-07-15 11:23:07 +01:00
Joe Thornber
52de2dd38e
Merge branch 'v0.7-devel' of github.com:jthornber/thin-provisioning-tools into v0.7-devel
2016-07-11 15:51:58 +01:00
Joe Thornber
c2fdbad322
Merge branch '2016-07-07-improve-thin-repair-error-message' into v0.7-devel
...
Conflicts:
Makefile.in
VERSION
configure.ac
persistent-data/file_utils.cc
2016-07-11 15:51:30 +01:00
Joe Thornber
4779fb9b80
[various] Improve documentation
...
Output file must be preallocated.
2016-07-11 14:53:03 +01:00
Ming-Hung Tsai
7eac48793c
[space map disk] tidy up: add const qualifier
2016-06-20 00:40:10 +08:00
Ming-Hung Tsai
3439dbfdfc
[metadata_counter] hide count_trees() and count_space_maps()
2016-06-20 00:30:26 +08:00
Ming-Hung Tsai
9e7af6b677
[metadata_counter] remove explicit try/catch when counting data space map
...
Unlike metadata_index_store, the constructor of btree_index_store
doesn't throw exceptions.
2016-06-20 00:30:26 +08:00
Ming-Hung Tsai
e8f1bda1a5
[thin] store the device id in single_mapping_tree_damage_visitor for error reporting
...
1. fix the damage type for single_mapping_tree_damage_visitor
2. walk_mapping_tree() now requires the device id
3. update metadata_dumper and thin_ls for the new walk_mapping_tree()
2016-06-20 00:30:25 +08:00
Joe Thornber
a3eac8d5d8
Merge branch 'v0.7-devel' of github.com:jthornber/thin-provisioning-tools into v0.7-devel
2016-06-14 16:33:00 +01:00
Joe Thornber
642740e1b6
Merge branch '2016-03-08-cache-writeback' into v0.7-devel
2016-06-14 16:30:16 +01:00
Ming-Hung Tsai
e985b8b3be
[thin_scan][thin_ll_*] fix the data type for getopt_long return value to int
...
For toolchains represent char as unsigned type
2016-05-20 00:54:31 +08:00
Ming-Hung Tsai
55ecf87439
[thin_ll_restore] fix the data type of blocknr to uint64_t
2016-05-20 00:53:51 +08:00
Joe Thornber
3fb4177656
[thin_trim] more bug fixing
2016-04-08 17:07: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
Thanos Makatos
431f2ab50a
allow tmakatos (a binary) emitter to be statically compiled
...
It is trivial to implement static compilation of the rest of the 3rd party
emitters.
2016-04-06 15:56:09 +03:00
Joe Thornber
866986b883
[thin_trim] FInally get thin_trim emitting the right discards
2016-04-05 12:27:00 +01:00
Ming-Hung Tsai
f20e2a0f40
[thin_check] cleanup: use metadata_counter
2016-04-05 16:09:58 +08:00
Ming-Hung Tsai
c8aabf2948
[metadata_counter] fix repeated counting of trees
2016-04-05 16:09:58 +08:00
Ming-Hung Tsai
c6c5086068
[thin_ll_dump] cleanup: use btree_node_checker
2016-04-05 16:09:58 +08:00
Joe Thornber
2288fc4565
Merge branch 'master' into 2016-02-03-fix-thin-trim
2016-03-31 16:39:54 +01:00
Joe Thornber
c7813e07e4
[thin_dump] --format custom=<shared lib>
...
Allow people to use their own emitters held in a shared library.
Put a trivial emitter in contrib/ as an example.
2016-03-24 13:59:08 +00:00
Joe Thornber
872a933072
[thin_dump] start refactoring format code
2016-03-23 10:52:04 +00:00
Joe Thornber
4370f048c0
[thin_dump] --skip-mappings
2016-03-22 15:01:37 +00:00
Joe Thornber
ad4fd30a27
Merge branch 'v0.7-devel' of github.com:jthornber/thin-provisioning-tools into v0.7-devel
2016-03-22 14:47:11 +00:00
Joe Thornber
a3f4940f1e
[thin_dump] --dev-id
2016-03-22 14:46:33 +00:00
Joe Thornber
8b2ec7a3aa
Merge branch 'master' into v0.7-devel
...
Conflicts:
VERSION
persistent-data/space-maps/disk.cc
persistent-data/space-maps/disk.h
2016-03-22 12:04:51 +00:00
Joe Thornber
b0e2d0e6a0
[thin_repair, metadata] Try harder to get the number of data blocks
...
when opening the metadata.
2016-03-21 17:17:57 +00:00
Joe Thornber
2cf0c84ce3
[thin_repair] we need to read the space maps after all to get the data
...
volume size.
2016-03-21 15:36:49 +00:00
Joe Thornber
e5363621ba
Merge pull request #51 from mingnus/v0.6.2-repairtool
...
[thin_ll_dump] Fix option -m to accept optional argument
2016-03-20 14:36:10 +00:00
Ming-Hung Tsai
055623b90f
[thin_ll_dump] Fix option -m to accept optional argument
2016-03-19 13:59:38 +08:00
Joe Thornber
0bc126fbeb
Merge branch 'v0.7-devel' into 2016-03-08-cache-writeback
...
Conflicts:
thin-provisioning/commands.h
2016-03-08 16:00:31 +00:00
Joe Thornber
5cbef4f6ef
[thin_ll_*] move these to dev tools
2016-03-08 15:52:12 +00:00
Joe Thornber
b8659853bb
[cache_writeback] stub cache_writeback
2016-03-08 15:27:22 +00:00
Seth Jennings
38f67676e4
get stats in bytes
2016-03-07 15:42:24 -06:00
Joe Thornber
e670a27638
Merge pull request #46 from mingnus/v0.6.2-repairtool
...
Code cleanup for new dev-tools
2016-03-06 16:15:35 +00:00
Ming-Hung Tsai
220ece1dc8
[thin] Cleanup: move methods before data member declaration
2016-03-06 23:21:09 +08:00
Ming-Hung Tsai
8232feb855
[thin_scan] Cleanup: remove unnecessary variables
2016-03-06 11:42:38 +08:00
Ming-Hung Tsai
9f15c5589f
[thin_scan] Cleanup: move methods before data member declaration
2016-03-06 11:42:38 +08:00
Joe Thornber
752163b681
Merge pull request #45 from mingnus/v0.6.2-repairtool
...
Minor fixes for new dev-tools
2016-03-05 15:36:12 +00:00
Ming-Hung Tsai
6fb5f8241d
[thin_scan] Factor out range manipulation code
2016-03-05 22:31:09 +08:00
Ming-Hung Tsai
400613305c
[thin_ll_restore] Cleanup: use device_details' constructor
2016-03-05 14:12:58 +08:00
Ming-Hung Tsai
08219a60b6
[thin] Add default constructor to struct device_details
2016-03-05 14:12:13 +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
286f70ceac
Merge remote-tracking branch 'remotes/github-m-h-tsai/v0.6.2-repairtool' into 2016-02-29-mingus-merge
...
Conflicts:
Makefile.in
VERSION
thin-provisioning/commands.cc
thin-provisioning/commands.h
thin-provisioning/thin_delta.cc
2016-02-29 10:29:28 +00:00
Ming-Hung Tsai
08a7093cd5
[thin_ll_dump][thin_ll_restore] first draft
2016-02-27 15:24:28 +08:00
Ming-Hung Tsai
b05b9aa227
[thin_scan] first draft
2016-02-27 15:24:14 +08:00
Ming-Hung Tsai
80783e7729
Add metadata_counter.{h,cc}
2016-02-27 15:23:06 +08:00
Ming-Hung Tsai
778c153c1e
[block-cache] Add check_raw() to bcache::validator
2016-02-27 15:21:13 +08:00
Ming-Hung Tsai
992ad02ce9
[restore_emitter] Recount device_details::mapped_blocks_
2016-02-27 15:20:56 +08:00
Ming-Hung Tsai
ced9929ca6
[metadata_dumper] Support dump a bottom-level data mapping tree
2016-02-27 15:20:31 +08:00
Ming-Hung Tsai
7ec47158b5
[emitter] Preserve the flags and version entries in superblock
2016-02-27 15:20:02 +08:00
Ming-Hung Tsai
b47c02ed8b
Show the wanted checksum in bad-superblock-checksum exception
2016-02-27 15:04:08 +08:00
Joe Thornber
e78de5d3ad
[thin_show_metadata] ncurses render
2016-02-26 12:50:17 +00:00
Joe Thornber
c4215c0cf6
[thin_show_metadata] thin_show_blocks.cc -> thin_show_metadata.cc
2016-02-24 15:32:05 +00:00
Joe Thornber
0349956015
Merge branch 'low_level_examine_metadata' into merge-show-blocks
...
Conflicts:
.gitignore
Makefile.in
persistent-data/space-maps/disk.cc
2016-02-24 15:24:43 +00:00
Joe Thornber
a5a53648c9
Merge branch '2015-08-19-thin-show-duplicates' into merge-thin-ls
...
Conflicts:
Makefile.in
block-cache/block_cache.h
main.cc
thin-provisioning/commands.h
2016-02-24 14:31:51 +00:00
Joe Thornber
5f879237f5
[build] add --enable-dev-tools configure flag
...
This builds tools that I want to keep in the same code base, but not
intended for general release.
2016-02-24 13:41:43 +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
f193a70a31
[thin-delta] fix bug in earlier refactor
2016-02-18 11:31:43 +00:00
Joe Thornber
1f10017635
[thin_delta] tidy up the comparison function
2016-02-17 15:17:02 +00:00
Joe Thornber
7c2b3fb671
[thin_delta] Fix bug when comparing the mappings
2016-02-17 14:35:11 +00:00
Joe Thornber
0d510924d5
[thin_delta] set nr_data_blocks to zero if there are no space maps.
...
ie. a metadata_snap is being used.
2016-02-17 14:35:02 +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
767c39cf71
[build] switch to c++11
...
Conflicts:
Makefile.in
chunker/cache_stream.cc
chunker/cache_stream.h
thin-provisioning/thin_archive.cc
thin-provisioning/thin_show_duplicates.cc
unit-tests/Makefile.in
2016-02-16 16:45:44 +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
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
0fced25b3e
[thin_dump, thin_restore] remove some dead code
2016-02-04 15:24:16 +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
f385198cfc
[thin_ls] get it working with a metadata snap
2016-01-20 14:45:38 +00:00
Joe Thornber
7a4a5aa87e
[thin_ls] fluff
2016-01-20 13:25:09 +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
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
Ming-Hung Tsai
e528fa1972
Add BLKDISCARD definition
2015-11-27 23:38:42 +08:00