Ming-Hung Tsai
d1fed5f5ec
[thin_generate_damage] Introduce tools to generate metadata damage
2020-07-25 16:53:44 +08:00
Ming-Hung Tsai
8fa59553c4
[thin_generate_mappings] Introduce the mapping generation tool
2020-06-19 18:07:55 +08:00
Ming-Hung Tsai
12d7178199
[base] Introduce io_generator
2020-06-19 18:07:55 +08:00
Joe Thornber
dc5bb3559b
[build] remove need for zlib.
...
Disappeared with the C++ version of thin_metadata_pack
2020-06-12 19:09:19 +01:00
Joe Thornber
324c0050bf
[install-rust-tools] add dep to generate man pages
2020-06-10 10:32:36 +01:00
Joe Thornber
61de3f9287
[thin_metadata_pack/unpack] Replace C++ implementation with a Rust one.
...
The Rust implementation is multithreaded, performs better in general and
does custom compression of btree nodes to achieve much better compression
ratios. unpack also checksums expanded metadata to validate it.
Format version has jumped to 3, no backwards compatibility, but I think
that's ok since we never made a release that contained the C++ version
of these tools.
Benchmarks
==========
On an 8 core, 16 hyperthread machine.
metadata 1G, full:
Pack size pack time unpack time
------------------------------------------------------
C++ 193M 50.3s 6.9s (no verify)
Rust 70M 1.4s 1.8s (verify)
metadata 16G, sparse:
Pack size pack time unpack time
------------------------------------------------------
C++ 21M 68s 1s (no verify)
Rust 4M 8.6s 0.5s (verify)
2020-06-09 09:15:00 +01:00
Joe Thornber
29cfdd8979
[space-maps/core] rewrite the core space map to use less memory.
2020-05-27 12:00:40 +01:00
Joe Thornber
0e1700fbe9
[thin_metadata_pack] First pass at pack/unpack
2020-05-22 14:11:48 +01:00
Joe Thornber
0882022120
[build] remove [DEP] compilation messages.
...
It just means each file appears twice.
2020-04-30 15:50:58 +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
d6a8c03aa2
[btree_damage_visitor] factor out non-template functions
2020-02-17 11:42:24 +00:00
Joe Thornber
5f2c3bed69
Add some ftests, and fixup whitespace from Nikhil's work
2019-10-28 11:52:21 +00:00
Nikhil Kshirsagar
91b4714e38
Corrupt superblock repair
2019-10-25 15:02:56 +05:30
Joe Thornber
70cdfe12a2
[thin_journal_check] first code drop
2018-08-28 13:12:20 +01:00
Joe Thornber
af785461e9
[build] [CXX] -> [CC] for C files
2018-06-13 12:49:57 +01:00
Joe Thornber
80e046a7df
[build] support separate build directories
2018-06-13 09:34:14 +01:00
Dennis Schridde
bc7864dae8
[build] Fix static build by including contrib/Makefile early ( #100 )
...
Closes : #99
2018-06-13 08:41:53 +01:00
Joe Thornber
5d3197b8ab
[build] quieten build of C files
2018-04-25 14:05:28 +01:00
Adam Sampson
8d75be8112
[functional-tests] fix build with testing disabled ( #88 )
...
The rule for lib/libft.so is only enabled with --enable-testing,
so the default target shouldn't depend unconditionally on it.
With the default configure options, the build failed with:
make: *** No rule to make target 'lib/libft.so', needed by 'all'. Stop.
2017-10-16 13:07:36 +01:00
Joe Thornber
b9230d1bbb
[functional-tests] roll all the C code into a single libft.so
2017-10-10 10:28:56 +01:00
Joe Thornber
5814fea96a
[man pages] fix some formatting issues with the new man pages.
2017-09-20 13:53:59 +01:00
Joe Thornber
dd8848f088
[manpages] Rewrite man pages in a simpler text format.
...
Makefile still needs work, but I wanted to commit to save progress.
2017-09-20 11:15:00 +01:00
Joe Thornber
f7d79339e8
[man pages] Various updates.
2017-09-18 16:10:56 +01:00
csonto
fd02dfa5bf
Makefile: Conditional install of thin_trim ( #81 )
...
* Makefile: Conditional install of thin_trim
...and thin_show_duplicates symlinks.
The support for these is built only if --enable-dev-tools is used in
configure, thus we should install the symlinks conditionally.
* Conditional install of thin_trim man page
2017-07-24 09:55:45 +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
0a8d7fdb89
[build] tweak includes for test targets
2017-03-13 14:02:11 +00: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
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
Joe Thornber
a94bfea798
[block-cache] unit tests + debug io_engine and copier
2016-06-07 11:12:27 +01:00
Thanos Makatos
8147d798be
don't use implicit rule when statically compiling emitters
2016-05-09 13:25:26 +03:00
Mike Frysinger
3e24cff8a1
respect & use CPPFLAGS properly
...
The common preprocessor variable is named CPPFLAGS. configure sets this
up for us, including sourcing values from the user. Rename INCLUDES to
match, and pull the default from configure.
2016-05-09 02:41:54 -04:00
Mike Frysinger
96e0e92afd
get default CFLAGS/CXXFLAGS from configure
...
Since autoconf already sets up default compiler flags for us, use those.
These also come from the user's build settings.
2016-05-09 02:41:54 -04:00
Mike Frysinger
b46676575c
fix up test targets
...
- PHONY is misspelled
- fix the pdata_tools target dep
- add a "check" alias to match standard automake behavior
- mark test & check targets as phony
2016-05-08 23:35:19 -04:00
Joe Thornber
c8fec7ec40
[cache_writeback] Coded, needs testing
2016-04-14 08:54:32 +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
Thanos Makatos
3464f005ff
add configure option to enable static linking
...
(cherry picked from commit c6a2620f5d
)
Conflicts:
configure.ac
2016-04-06 15:56:08 +03:00
Ming-Hung Tsai
4a4dc1a5e0
[btree_node_checker] first draft
...
Spin-off from btree_damage_visitor
2016-04-03 00:43:43 +08:00
Joe Thornber
5b3cae824b
Merge branch 'v0.7-devel' of github.com:jthornber/thin-provisioning-tools into v0.7-devel
2016-03-31 16:14:48 +01:00
Joe Thornber
a5ed4258c0
[build] contrib target no longer depends on --enable-testing
2016-03-31 16:14:11 +01:00
Thanos Makatos
b8dbde1e64
use -ldl when linking
...
dlopen etc. require -ldl to link
2016-03-31 13:02:36 +03: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
Thanos Makatos
c6a2620f5d
add configure option to enable static linking
2016-03-09 13:27:35 +03:00
Joe Thornber
b8659853bb
[cache_writeback] stub cache_writeback
2016-03-08 15:27:22 +00:00
Joe Thornber
4c0d5c96a0
[build] add symlinks for the new dev tools
2016-02-29 13:51:30 +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