Ming-Hung Tsai
|
cf4b937ade
|
[cache_check (rust)] Check space map counts
- Support space map checking and auto-repair
|
2021-04-23 16:23:21 +08:00 |
|
Ming-Hung Tsai
|
636d50a38d
|
[thin_check (rust)] Pull out space map checking routines
|
2021-04-23 16:04:56 +08:00 |
|
Ming-Hung Tsai
|
e1628f9004
|
[cache_check (rust)] Add more checks
- Check array indices continuity
- Support ignore_non_fatal
- Report blocknr of IoErrors
- Report array block indeices
|
2021-04-21 23:35:22 +08:00 |
|
Ming-Hung Tsai
|
239ff7dfa1
|
[cache_check (rust)] Add more checks
- Report errors
- Support reading partially broken bitset
- The output is a bitmap of 2-bit entries, indicating availability of bits
|
2021-04-21 14:09:38 +08:00 |
|
Ming-Hung Tsai
|
3279d8381b
|
[array_walker] Read multiple array blocks at once
|
2021-04-17 00:10:14 +08:00 |
|
Ming-Hung Tsai
|
c17559791f
|
[bitset] Rename bitset module
|
2021-04-17 00:10:14 +08:00 |
|
Ming-Hung Tsai
|
1964015d81
|
[array_walker] Handle the whole array block at once
That gives the visitor more controls over the data processing and locking,
and also improves the performance by 10-15%.
|
2021-04-17 00:06:09 +08:00 |
|
Ming-Hung Tsai
|
95dee9f66d
|
[cache_check (rust)] Do not remap ArrayErrors to keep the error context
|
2021-04-16 21:46:30 +08:00 |
|
Ming-Hung Tsai
|
9b4a0607ea
|
[cache_check (rust)] Detect structural errors on arrays
- Define error types for arrays
- Propagate low-level errors to tools
- Rename array_block.rs to array.rs
|
2021-04-14 16:02:50 +08:00 |
|
Ming-Hung Tsai
|
ace9c1d1e3
|
[cache_check (rust)] Add more checks
- check version-2 dirty bitset size and consistency
- check discard bitset size
|
2021-04-11 22:48:10 +08:00 |
|
Ming-Hung Tsai
|
ae630f1fd8
|
[btree_walker] Fix error returning
|
2021-04-11 20:18:44 +08:00 |
|
Ming-Hung Tsai
|
860b3ca7d2
|
[cache_check (rust)] Add more checks
- Check the version-1 dirty flag
- Check mappings against the origin device size, if the cache is clean
- Check superblock fields
|
2021-04-11 20:18:25 +08:00 |
|
Joe Thornber
|
7e869bb8e0
|
Code review of cache_dump/check
Added support for metadata format2 to cache_dump. Nothing tested.
|
2021-03-04 11:13:08 +00:00 |
|
Joe Thornber
|
e6c6275aea
|
Code review of src/pdata/array*
|
2021-03-03 10:27:57 +00:00 |
|
Joe Thornber
|
fdcc09c27e
|
[cache_dump] Squash some clippy warnings
|
2021-03-03 09:48:15 +00:00 |
|
Joe Thornber
|
3cf0dba469
|
[cache_dump] fix how needs_check flag is checked
|
2021-03-03 09:47:42 +00:00 |
|
Ming-Hung Tsai
|
eb3d181f95
|
[cache_dump (rust)] First draft of cache_dump
|
2021-03-03 12:27:51 +08:00 |
|
Ming-Hung Tsai
|
fde0e0e2b8
|
[cache (rust)] Add Mapping::is_dirty()
|
2021-03-03 12:14:46 +08:00 |
|
Ming-Hung Tsai
|
74fcb9d505
|
[cache (rust)] Fix data types
|
2021-02-26 23:31:12 +08:00 |
|
Joe Thornber
|
3d9b32e509
|
Merge branch 'main' of github.com:jthornber/thin-provisioning-tools into main
|
2021-02-26 15:26:33 +00:00 |
|
Joe Thornber
|
d4299a00d0
|
Make pack_node() and calc_max_entries() public for dm-unit
|
2021-02-26 15:25:53 +00:00 |
|
Ming-Hung Tsai
|
a7ecfba2b4
|
[cache (rust)] Fix merge conflicts
|
2021-02-24 20:21:10 +08:00 |
|
Joe Thornber
|
a4ba01cacd
|
Merge pull request #160 from mingnus/rust-cache-tools
First draft of cache_check in Rust
|
2021-02-24 09:53:51 +00:00 |
|
Ming-Hung Tsai
|
2bb3bf65b7
|
[cache_check (rust)] Implement basic functions
|
2021-02-24 17:39:11 +08:00 |
|
Joe Thornber
|
763b2d14b2
|
[io_engine] Add Block::zeroed() constructor
|
2021-02-09 14:34:26 +00:00 |
|
Joe Thornber
|
c3c6d37aea
|
Fix a lot of clippy warnings
|
2021-02-08 10:38:21 +00:00 |
|
Joe Thornber
|
6f30d17f04
|
version.rs includes VERSION directly.
So you no longer need to run ./configure to build the rust tools
|
2021-02-04 10:00:32 +00:00 |
|
Ming-Hung Tsai
|
faa371c208
|
[cache (rust)] Implement cache primitives
|
2021-02-03 15:18:47 +08:00 |
|
Ming-Hung Tsai
|
087a4711a5
|
[array (rust)] Implement array basis
|
2021-02-03 15:18:41 +08:00 |
|
Ming-Hung Tsai
|
ca7e79a828
|
Merge commit 'b67b587' into main
|
2021-01-12 02:50:12 +08:00 |
|
Joe Thornber
|
443b3c8f0b
|
[io_engine (rust)] get_nr_blocks() wasn't handling block devices.
Now calls file_utils::file_size()
|
2020-12-02 15:20:14 +00:00 |
|
Joe Thornber
|
ba7fd7bd2b
|
[thin_check (rust)] Make --sync-io the default.
For some systems you have to adjust the ulimits to get io_uring
to work, so we now default to using sync io.
Also added --async-io flag.
|
2020-12-02 11:33:05 +00:00 |
|
Joe Thornber
|
0e4622f337
|
[Rust tools] squash lots of warnings
|
2020-12-01 11:50:32 +00:00 |
|
Joe Thornber
|
1ae62adec6
|
work in progress
|
2020-11-18 14:33:56 +00:00 |
|
Joe Thornber
|
37ea0280df
|
[thin_restore] first pass at btree_builder.
No tests yet
|
2020-10-26 12:05:27 +00:00 |
|
Joe Thornber
|
f60ae770c2
|
[thin_explore] Explore devices tree, including path support.
|
2020-10-15 11:53:09 +01:00 |
|
Joe Thornber
|
e9fbcc31de
|
[thin_dump (rust)] First pass at thin_dump.
Doesn't include --repair.
This includes <def> and <ref> sections for shared regions.
|
2020-09-28 15:45:13 +01:00 |
|
Joe Thornber
|
a88ae3ca18
|
[thin_check (rust)] factor out device detail
|
2020-09-25 09:59:16 +01:00 |
|
Joe Thornber
|
66b6a1ba48
|
[thin_check (rust)] --superblock-only, --skip-mappings, INFO fields
|
2020-09-24 13:55:58 +01:00 |
|
Joe Thornber
|
34052c540c
|
[thin_check (rust)] Reinstate walk_node_threaded
|
2020-09-24 09:40:38 +01:00 |
|
Joe Thornber
|
b67b587a10
|
[thin_shrink] Add comment pointing people at Nikhil's PoC
|
2020-09-22 12:01:17 +01:00 |
|
Joe Thornber
|
f4c3098e02
|
[thin_check (rust)] fix bug in key range splitting.
Ranges were not being ommitted when a block was ommitted due to
being shared and already visited.
|
2020-09-22 10:47:23 +01:00 |
|
Joe Thornber
|
819fc6d54c
|
[thin_explore] accept a node path on the command line
Helpful to examine thin_check failures.
|
2020-09-22 10:47:04 +01:00 |
|
Joe Thornber
|
b193d19603
|
[thin_check (rust)] output complete node paths with errors.
This can be used with thin_explore
|
2020-09-18 11:16:09 +01:00 |
|
Joe Thornber
|
bc058f8baf
|
[thin_check (rust)] BTree values must now implement Copy
|
2020-09-18 10:06:33 +01:00 |
|
Joe Thornber
|
bcfb9a73a1
|
[thin_explore] display ranges where possible
|
2020-09-18 09:12:51 +01:00 |
|
Joe Thornber
|
8493cf7081
|
[thin_explore] First code drop
|
2020-09-16 15:10:01 +01:00 |
|
Joe Thornber
|
5168621f02
|
[thin_check (rust)] Optimise SyncIoEngine
*_many no longer get/put for each block
|
2020-09-02 13:28:16 +01:00 |
|
Joe Thornber
|
44142f657a
|
[thin_check (rust)] Add error handling to io_engine interface
|
2020-09-02 12:57:47 +01:00 |
|
Joe Thornber
|
b82307d8a5
|
[thin_check (rust)] drop O_DIRECT for the sync_io engine.
O_DIRECT slows us down, and there's no correctness reason for having it.
|
2020-08-21 11:39:41 +01:00 |
|