Joe Thornber
db48f51049
Merge pull request #172 from mingnus/2021-05-04-thin-dump-fixes
...
Make thin_dump runnable
2021-05-27 19:03:05 +01:00
Ming-Hung Tsai
2a9e7cf74f
[thin_dump (rust)] Split runs at the position with multiple references
...
That is, an element with multiple references will serve as the beginning
of an atomic run.
2021-05-28 00:18:27 +08:00
Ming-Hung Tsai
30cfcd9a88
[thin_dump (rust)] Use common leaf sequences to pack metadata
2021-05-28 00:07:32 +08:00
Ming-Hung Tsai
4c47fcabbf
[thin_dump (rust)] Fix missing outputs
2021-05-27 23:51:37 +08:00
Joe Thornber
4f192cea0f
Merge pull request #171 from mingnus/rust-cache-tools
...
Fix bugs in array iteration and text outputs
2021-05-13 15:02:41 +01:00
Ming-Hung Tsai
7e53c36d6b
[cache (rust)] Fix bugs in array iteration and text outputs
...
- Fix array indexing
- Fix panic on empty array
- Remove trailing null characters from the policy name
- Change XML tag naming for backward compatibility
2021-05-13 21:36:52 +08:00
Joe Thornber
11c354b3b1
Merge pull request #170 from mingnus/rust-cache-tools
...
Merge recent changes in cache-tools
2021-05-12 09:29:49 +01:00
Ming-Hung Tsai
1bbb63f06b
[cache_check (rust)] Fix discard bitset size checking
2021-05-12 15:50:14 +08:00
Ming-Hung Tsai
b7bf82b8f2
[all] Fix newline in version string
2021-05-12 12:03:52 +08:00
Ming-Hung Tsai
965fbb6e8f
[all] Apply cargo fmt, and fix clippy warnings
2021-05-11 23:53:31 +08:00
Ming-Hung Tsai
0553a78c04
Add pre-commit hooks
2021-05-11 23:18:43 +08:00
Ming-Hung Tsai
5baeab4a5c
Merge branch 'main' into rust-cache-tools
2021-05-11 23:16:08 +08:00
Joe Thornber
d9a96758b0
Merge pull request #168 from mingnus/2020-10-09-thin-restore-rewrite
...
Merge recent changes in thin_restore
2021-05-04 09:21:40 +01:00
Ming-Hung Tsai
43e433149b
[all] Apply cargo fmt
2021-05-04 16:10:23 +08:00
Ming-Hung Tsai
4b4584c830
[thin_restore (rust)] Apply several fixes
...
- Fix reading queued blocks
- Fix unnecessary block shadowing when there's no remaining values
- Prevent superblock from overwritten
- Flush queued writes before updating superblock
2021-05-03 00:07:34 +08:00
Ming-Hung Tsai
e9899ac610
Add missing math.rs
2021-04-26 12:47:05 +08:00
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
0119b51a9c
Merge branch 'main' of github.com:jthornber/thin-provisioning-tools
2021-04-08 10:47:18 +01:00
Joe Thornber
c41b2e8ec3
Some interface changes to let dm-unit use the thin checking code more easily.
2021-04-08 10:45:50 +01:00
Joe Thornber
89372c3fa7
Merge pull request #167 from mingnus/main
...
btree minor fixes
2021-03-25 09:31:21 +00:00
Ming-Hung Tsai
c496e8a4c8
[btree] Remove FIXMEs
2021-03-25 16:42:36 +08:00
Ming-Hung Tsai
8bfe7ee6f3
[btree] Fix rebalancing checks
2021-03-25 15:06:52 +08:00
Joe Thornber
040e3bfc2d
Lot's of work on thin_restore
2021-03-24 14:20:20 +00:00
Joe Thornber
12c1c6e1f5
Merge branch 'main' into 2020-10-09-thin-restore-rewrite
2021-03-23 11:22:03 +00:00
Ming-Hung Tsai
e0eb8fea87
[btree (rust)] Show out-of-order keys
2021-03-12 12:37:07 +08:00
Joe Thornber
0d46c606dd
Merge pull request #166 from mingnus/main
...
Fix a syntax error
2021-03-11 17:13:28 +00:00
Ming-Hung Tsai
0ff72374f8
[btree_builder (rust)] Fix the max_entries
2021-03-12 00:42:54 +08:00
Joe Thornber
1b7f43ef9f
Merge pull request #165 from mingnus/main
...
Fix the max_entries in node_header
2021-03-11 10:54:44 +00:00
Ming-Hung Tsai
7d983e3155
[btree_builder (rust)] Fix the max_entries
2021-03-11 18:24:10 +08:00
Joe Thornber
d0675dd7bf
Add missing header.
...
So many errors from one issue
2021-03-04 11:19:04 +00: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