Commit Graph

31 Commits

Author SHA1 Message Date
Joe Thornber
db5a71a53c [rust tools] Get the tools version from autoconf 2020-06-09 10:23:52 +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
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
57db3a2b99 [functional tests] Break up check-superblock.scm into separate
libraries
2017-08-08 11:47:37 +01:00
Joe Thornber
06e74656f6 update ignore file 2016-03-24 15:22:01 +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
6f8b7e2914 [all] Build a single executable 2014-08-27 14:01:31 +01:00
Joe Thornber
e31ffe0874 update ignore file 2014-08-26 11:26:18 +01:00
Joe Thornber
7f6bdf2acf Add callgrind files to the ignore file 2014-08-26 11:24:07 +01:00
Joe Thornber
38f8195a99 thin_show_blocks 2014-02-19 15:01:07 +00:00
Joe Thornber
5fe5d213b7 Merge branch 'master' of github.com:jthornber/thin-provisioning-tools into era
Conflicts:
	Makefile.in
2014-01-31 22:35:04 +00:00
Joe Thornber
e7bbfbc1fd update ignore file 2014-01-23 00:46:29 +00:00
Joe Thornber
cbbdfc37da [cache] cache_metadata_size 2014-01-15 15:52:05 +00:00
Joe Thornber
bfb540cc5b [era] era_superblock_t and era_check 2014-01-09 22:40:34 +00:00
Joe Thornber
8987d8f92c update ignore file 2013-10-15 20:47:11 +01:00
Joe Thornber
e3d87c5386 update ignore file 2013-10-11 10:20:29 +01:00
Joe Thornber
dc97e0ea4e Update ignore file 2013-09-19 13:52:29 +01:00
Joe Thornber
d3ce6b811b Start stubbing out cache_dump 2013-08-19 12:40:03 +01:00
Joe Thornber
a933749cbf update ignore file 2013-08-16 16:44:44 +01:00
Joe Thornber
0dfea497f0 update ignore file 2013-06-27 10:18:09 +01:00
Joe Thornber
64d14a75e1 update ignore file 2013-05-23 13:56:46 +01:00
Joe Thornber
bc25afd686 update ignore file 2013-03-25 11:54:52 +00:00
Joe Thornber
1e141f83bb Convert array_block_t to gmock 2013-03-22 14:13:58 +00:00
Joe Thornber
52f1aa8a8a cache_check work 2013-03-21 15:45:45 +00:00
Joe Thornber
ab7124e441 block_t and cache_t fully operational again. 2013-01-07 16:39:02 +00:00
Joe Thornber
16539b59ff update ignore file 2011-10-10 10:30:27 +01:00
Joe Thornber
b4dbf8d74c g++ 4.4 fixups 2011-09-01 10:42:57 +01:00
Joe Thornber
987a8360c9 [thin_repair] repair now checks the data reference counts. 2011-08-24 10:45:39 +01:00
Joe Thornber
511456f903 Some work on thin_repair. 2011-08-23 11:55:37 +01:00
Joe Thornber
a683979585 space map disk 2011-07-22 16:09:56 +01:00
Joe Thornber
6b8b16c70a blank project 2011-06-16 08:16:10 +01:00