Joe Thornber
4054b1be4c
[thin_check (rust)] Switch to BTreeMap.
...
It's faster.
2020-08-08 14:58:13 +01:00
Joe Thornber
1e4a038b41
[thin_check (rust)] Reimplement CoreSpaceMap
...
We now use a simple vector of elements that can hold 'nr thin devs'. Much faster.
2020-08-08 13:29:30 +01:00
Joe Thornber
7cf239b878
[thin_check (rust)] speed up CoreSpaceMap
2020-08-08 12:36:13 +01:00
Joe Thornber
ec8f7b7fa8
[thin_check (rust)] Keep track of data block ref counts
...
as we walk the mapping tree.
2020-08-08 09:54:16 +01:00
Joe Thornber
8f76371bb2
[functional-tests] Fix clippy warnings
2020-08-07 15:41:21 +01:00
Joe Thornber
fa4ea3e2d9
[functional-tests] port some of the cache_check tests to Rust
2020-08-07 14:30:00 +01:00
Joe Thornber
4a0582bb5d
[thin_check (rust)] start decoding the space maps.
2020-08-06 07:51:48 +01:00
Joe Thornber
197e4ffbfd
[thin_check (rust)] Rename ValueType trait to Unpack
2020-08-05 08:01:02 +01:00
Joe Thornber
1d44025584
[thin_check (rust)] Walk the top level and bottom level of the mapping tree separately
2020-08-04 12:11:36 +01:00
Joe Thornber
f56ea2d031
[thin_check (rust)] walk devices tree.
2020-08-03 16:22:08 +01:00
Joe Thornber
1368227a71
[thin_check (rust)] add btree node checks
2020-08-03 15:04:59 +01:00
Joe Thornber
cc2582b8b1
[thin_check (rust)] factor out pdata/btree.rs
2020-08-03 12:37:32 +01:00
Joe Thornber
7243f95380
[thin_check (rust)] Drop nr threads down to 4
...
We get very little benefit from threads atm. Need to improve IO handling first.
2020-07-30 10:17:36 +01:00
Joe Thornber
de172147d3
[thin_check (rust)] squash a lot of warnings
2020-07-30 10:12:51 +01:00
Joe Thornber
f7623e6264
[thin_check (rust)] remove spurious mutex.
2020-07-30 09:59:02 +01:00
Joe Thornber
8146fba9d2
[thin_check (rust)] Move mutex inside IoEngines.
...
Makes it easier to share an engine between different threads.
2020-07-30 08:47:16 +01:00
Joe Thornber
4f120911d2
[thin_check (rust)] First attempt at multithreading the tree walking.
...
Still using a single io engine, so little benefit.
2020-07-29 16:38:52 +01:00
Joe Thornber
d5597d5d36
[thin_check (rust)] Factor out tree walking code
2020-07-29 11:12:03 +01:00
Joe Thornber
e9abdd9c88
[thin_check (rust)] Switch to a different io_uring crate.
...
This one works.
2020-07-28 12:57:30 +01:00
Joe Thornber
a90294e279
[thin_check (rust)] read many blocks at once.
...
We need to switch to io_uring to really get the benefit of this.
2020-07-28 11:45:25 +01:00
Joe Thornber
062a1b8a2c
[thin_check (rust)] Walk mapping tree.
...
Sync IO, no checks beyond checksumming.
2020-07-28 10:51:48 +01:00
Joe Thornber
1398cf31d1
[thin_check (Rust)] work in progress
2020-07-27 15:53:42 +01:00
Joe Thornber
3cf6307762
Merge branch 'master' into 2020-06-13-thin-check-rewrite
2020-07-27 15:53:26 +01:00
Joe Thornber
e9055f5d7d
Merge branch 'master' of github.com:jthornber/thin-provisioning-tools
2020-07-22 16:09:33 +01:00
Joe Thornber
b7e02d0ae4
[thin_metadata_pack] FIx bug where pack would try and read too much.
2020-07-09 13:53:46 +01:00
Joe Thornber
19138dbd81
[thin_shrink] add unit tests for build_remaps
2020-07-06 11:44:49 +01:00
Joe Thornber
470d0b7532
[thin_shrink] more test cases
2020-07-01 07:52:53 +01:00
Joe Thornber
4d7f9c7ddc
[thin_shrink] add some more test cases
2020-06-30 08:32:04 +01:00
Joe Thornber
3618da3a12
[thin_shrink] Get test framework built
...
This verifies data has been moved to the correct place.
2020-06-29 10:49:40 +01:00
Joe Thornber
d03dac8f75
[thin_shrink] write test harness
2020-06-26 16:44:47 +01:00
Joe Thornber
07da5704d5
[thin_shrink] add --no-copy
2020-06-26 08:57:26 +01:00
Joe Thornber
abf06236b1
[thin_shrink] Tidy up some messages
2020-06-26 08:47:40 +01:00
Joe Thornber
d8a0805753
[thin_shrink] fix some clippy warnings
2020-06-26 08:31:02 +01:00
Joe Thornber
7df56a5a04
[thin_shrink] Squash some warnings
2020-06-26 08:00:53 +01:00
Joe Thornber
27c6e36f5c
[thin_shrink] Very simple copier implementation
2020-06-25 16:50:11 +01:00
Joe Thornber
fcf44d46b7
[thin_shrink] remove some debug printlns
2020-06-25 16:12:35 +01:00
Joe Thornber
31abc468be
[thin_shrink] Stub the copier
2020-06-25 15:28:45 +01:00
Joe Thornber
d8957e3d86
[thin_shrink] Rewrites xml
...
Just need to do copying now
2020-06-25 14:57:37 +01:00
Joe Thornber
259eef9eee
[thin_shrink] calculate remaps
2020-06-25 10:44:57 +01:00
Joe Thornber
3f1b776359
[thin_shrink] Add NoopVisitor
2020-06-24 13:55:08 +01:00
Joe Thornber
861b2f21ff
[thin_shrink] Write thinp xml format reader and writer.
...
Still need to tidy up the error handling.
2020-06-24 13:32:47 +01:00
Joe Thornber
5e19029e65
Merge branch '2020-06-19-use-anyhow' into 2020-06-13-thin-check-rewrite
2020-06-22 10:16:27 +01:00
Joe Thornber
fdf641aff3
[thin_metadata_{pack,unpak}] use anyhow in toplevel.
2020-06-21 11:50:24 +01:00
Joe Thornber
7d625eb6ff
[src/file_utils.rs] Don't print to stderr in file_exists.
2020-06-15 12:48:19 +01:00
Joe Thornber
29d56f62a5
wip
2020-06-14 08:17:46 +01:00
Joe Thornber
7a85e47a20
[rust] squash clippy (linter) warnings
2020-06-10 16:46:38 +01:00
Joe Thornber
f90010e22a
[pack/unpack] fix bug in file_utils::file_size()
2020-06-10 15:07:40 +01:00
Joe Thornber
380632565d
[thin_metadata_{pack/unpack}] Fix get_nr_blocks()
...
It didn't work with block devices.
2020-06-10 14:38:42 +01:00
Joe Thornber
821628b004
[pack/unpack] add missing file.
2020-06-09 14:59:13 +01:00
Joe Thornber
409a660082
[pack/unpack] Get the functional tests working again.
...
There's some hard coded version numbers in the tests, but I'm
leaving for now since I'll rewrite in Rust to avoid too much
of a proliferation of languages.
2020-06-09 13:03:39 +01:00