Ming-Hung Tsai
de7e79fc06
[btree_builder] Rename Builder to BTreeBuilder for clarity
2021-06-16 01:39:31 +08:00
Ming-Hung Tsai
6d16c5816e
[btree_builder] Fix reference counts of btree nodes
...
A leaf node should be counted only if it is referenced by some internal
nodes, since the leaves generated by <def> sections might be unshifted
and merged with exclusive mappings or other shared defs, or they might
not even be used by any of the devices if the xml was tampered. The
internal nodes should be handled in the same manner.
The new 'reserve' operation is designed for this purpose. Applications
could reserve a block for later use, without setting its ref count
immediately. This way saves the hassles of tracking unused leaves.
2021-06-16 01:39:31 +08:00
Ming-Hung Tsai
9e061a03a8
[space_map (rust)] Do not reset search position
2021-06-11 20:51:49 +08:00
Ming-Hung Tsai
88e7f8fd69
[array_builder] Simplify array building process
2021-06-11 20:51:49 +08:00
Ming-Hung Tsai
60b65ebe7a
[space_map (rust)] Fix uninitialized bytes in index block
2021-06-08 20:17:24 +08:00
Joe Thornber
01aac6c1c1
Merge pull request #175 from mingnus/2021-04-28-coverity-fixes
...
Fix resource leak
2021-06-04 15:22:24 +01:00
Ming-Hung Tsai
429e7f01d7
[file_utils] Fix resource leak
2021-06-04 21:37:02 +08:00
Joe Thornber
2413b5d31f
Merge pull request #174 from mingnus/2021-04-28-coverity-fixes
...
Fix issues detected by Coverity
2021-06-03 12:11:54 +01:00
Ming-Hung Tsai
8014643b9e
[build] Allow running tests without the --enable-testing configuration
...
- Make the test targets always available (test, unit-test, functional-test)
- Cleanup include paths, and bring back the CPPFLAGS in commit 3e24cff
that
was overwritten by the merge ca8f6df
(PR #60 )
- Introduce the dev-tools target for building testing/dbg tools individually
- Leave the --enable-testing option for backward compatibility
2021-06-03 18:54:26 +08:00
Ming-Hung Tsai
050eacf4cb
[all] Remove unreachable code
2021-06-03 18:54:26 +08:00
Ming-Hung Tsai
db52308d85
[build] Remove unused sources from the regular build
2021-06-03 18:54:26 +08:00
Ming-Hung Tsai
25ed2dfc9a
[thin_dump] Fix warnings on potential NULL pointer
2021-06-03 18:54:26 +08:00
Ming-Hung Tsai
2e62363446
[all] Fix uninitialized class members
2021-06-03 18:54:26 +08:00
Ming-Hung Tsai
3145a1f4de
[thin_metadata_size] Fix potential string overflow
2021-06-03 18:54:26 +08:00
Ming-Hung Tsai
759407445f
[thin_show_duplicates] Fix potential errors
...
- Fix error if no --block-sector provided
- Fix errors on pools without mappings, or zero-length file
2021-06-03 18:50:20 +08:00
Ming-Hung Tsai
75c0a3656c
[thin_dump] Fix leaked shared object handle
2021-06-02 03:43:58 +08:00
Ming-Hung Tsai
041ed7858c
[build] Fix customized emitter linkage
2021-06-02 00:51:39 +08:00
Ming-Hung Tsai
0004dced93
[thin_show_metadata] Fix out-of-bounds access
2021-06-02 00:51:39 +08:00
Ming-Hung Tsai
f7e4a8faa9
[all] Fix resource leaks
2021-06-02 00:51:39 +08:00
Joe Thornber
b9df99fd6a
Merge pull request #173 from mingnus/2021-05-12-cache-restore
...
cache_restore wip
2021-06-01 09:15:38 +01:00
Ming-Hung Tsai
b12530f580
[space_map (rust)] Fix nr_allocated tracking in CoreSpaceMap
2021-05-28 20:20:30 +08:00
Ming-Hung Tsai
3a653eaa5f
[thin_restore (rust)] Build metadata and data space maps
2021-05-28 03:19:42 +08:00
Ming-Hung Tsai
c142cd0d48
[space_map (rust)] Fix space map building
...
- Fix out-of-bounds index
- Automatically flush queued writes before function return
- Track allocated blocks in write_batcher (might be space consuming)
2021-05-28 03:19:42 +08:00
Ming-Hung Tsai
13d6c72ad9
[cache_restore (rust)] Build metadata space map
2021-05-28 03:19:42 +08:00
Ming-Hung Tsai
5ecae3ad88
[tests] Fix numeric literal annotation
2021-05-28 03:19:42 +08:00
Ming-Hung Tsai
48d4fc51ed
[space_map (rust)] Factor out space_map_metadata
2021-05-28 03:19:42 +08:00
Ming-Hung Tsai
d5e6a69af6
[thin (rust)] Fix the unit of metadata_block_size in superblock
2021-05-28 03:19:42 +08:00
Ming-Hung Tsai
6a29f6a41a
[cache_check (rust)] Fix discard bitset availability checking
2021-05-28 03:19:42 +08:00
Ming-Hung Tsai
ce94ba73a5
[cache_restore (rust)] First draft
2021-05-28 03:19:42 +08:00
Ming-Hung Tsai
e336b3a63f
[math (rust)] Make the functions generic
2021-05-28 03:19:42 +08:00
Ming-Hung Tsai
1198a3f713
[cache (rust)] Implement Pack for superblock
2021-05-28 03:19:42 +08:00
Ming-Hung Tsai
511ae9e908
[checksum] Support cache and era superblock
2021-05-28 03:19:42 +08:00
Ming-Hung Tsai
159dda9659
[thin_restore (rust)] Tidy up with the builder pattern
2021-05-28 03:19:42 +08:00
Ming-Hung Tsai
1907dab5ee
[cache (rust)] Implement Pack and Default for restoration
2021-05-28 03:19:42 +08:00
Ming-Hung Tsai
86e2db3a1a
[cache (rust)] Add visitor traits for cache_restore
2021-05-28 03:19:42 +08:00
Ming-Hung Tsai
2a77036fa8
[array_builder] First draft
...
Not tested yet
2021-05-28 03:19:42 +08:00
Ming-Hung Tsai
a6e1870b2b
[array (rust)] Implement Pack for restoration
2021-05-28 03:19:42 +08:00
Ming-Hung Tsai
7e2d69ede9
[cache_dump (rust)] Allow partially broken dirty bitset
2021-05-28 03:19:42 +08:00
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