Ming-Hung Tsai
c32517f827
[thin] Clear superblock flags in restored metadata
...
The needs_check flag is unnecessary for a restored metadata since
it is assumed clean and has no errors
2021-06-07 19:06:56 +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
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