thin-provisioning-tools/bin
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
..
cache_check
cache_dump
cache_metadata_size
cache_repair
cache_restore
era_check
era_dump
era_invalidate
era_restore
thin_check
thin_delta
thin_dump
thin_generate_metadata thin_generate_metadata 2016-07-15 11:23:07 +01:00
thin_journal_check [thin_journal_check] Checks journal of block manager activity. 2018-09-24 14:51:46 +01:00
thin_ll_dump [build] add symlinks for the new dev tools 2016-02-29 13:51:30 +00:00
thin_ll_restore [build] add symlinks for the new dev tools 2016-02-29 13:51:30 +00:00
thin_ls
thin_metadata_pack [thin_metadata_pack/unpack] Replace C++ implementation with a Rust one. 2020-06-09 09:15:00 +01:00
thin_metadata_size
thin_metadata_unpack [thin_metadata_pack/unpack] Replace C++ implementation with a Rust one. 2020-06-09 09:15:00 +01:00
thin_repair
thin_restore
thin_rmap
thin_scan [build] add symlinks for the new dev tools 2016-02-29 13:51:30 +00:00
thin_show_duplicates
thin_show_metadata
txt2man [manpages] Rewrite man pages in a simpler text format. 2017-09-20 11:15:00 +01:00