Ming-Hung Tsai
ecb5226acc
[thin] Fix indent and trailing whitespaces
2020-07-29 16:47:22 +08:00
Ming-Hung Tsai
b693c7d6b0
[metadata_checker] Fix missing member initialization
2020-07-29 16:47:22 +08:00
Ming-Hung Tsai
0c3c5f6c1e
[sequence_generator] Fix parameters and span boundary checking
2020-07-29 16:26:14 +08:00
Ming-Hung Tsai
661b4de5de
[run_set] Add lower_bound and upper_bound functions
2020-07-29 16:18:23 +08:00
Ming-Hung Tsai
4d56cef5de
[unit-tests] Add test cases for sequence_generator
2020-07-29 16:18:23 +08:00
Ming-Hung Tsai
105b8ec1cf
[base] Factor out sequence_generator
2020-07-29 15:33:25 +08:00
Ming-Hung Tsai
e62022a200
[base] Move run_set to namespace base
2020-07-29 15:33:25 +08:00
Ming-Hung Tsai
7a332d43c3
[build] Fix the default value for the AR variable ( #145 )
...
Initialize the AR variable during configuration, to avoid leaving
unsubstituted string if the AR shell/environment variable is not set.
2020-07-29 10:06:39 +08:00
Ming-Hung Tsai
061d966e7a
[io_generator] Support mixed sequential and random io pattern
2020-07-25 17:46:59 +08:00
Ming-Hung Tsai
7ed013fcab
[io_generator] Rename offset_generator classes, and fix bugs
...
- Rename the classes for general-purpose usage
- Fix duplicated sequential number generation while wrap around
- Enable unaligned random number generation
2020-07-25 17:20:59 +08:00
Ming-Hung Tsai
d1fed5f5ec
[thin_generate_damage] Introduce tools to generate metadata damage
2020-07-25 16:53:44 +08:00
Ming-Hung Tsai
e46fabde1a
[thin_generate_metadata] Fix command line options
...
- Remove unused options
- Fix potential option conflict
2020-07-25 16:53:44 +08:00
Ming-Hung Tsai
8d8ee51599
[thin_generate_metadata] Support setting the needs_check flag
2020-07-25 16:53:44 +08:00
Ming-Hung Tsai
aabc3a9dbc
[io_generator] Add random map to avoid generating repeated addresses
2020-07-25 16:53:44 +08:00
Ming-Hung Tsai
cf127f3471
[btree] Fix reference counts of children below a shadow
2020-06-30 17:24:55 +08:00
Ming-Hung Tsai
4f8466c489
[btree] Fix parent key index for the new shadow
2020-06-30 17:22:47 +08:00
Ming-Hung Tsai
ce8945e829
[io_generator] Fix address boundary for doing IO
...
Limit the addresses to be within the specified range
2020-06-30 17:12:42 +08:00
Ming-Hung Tsai
19e482fd2f
[thin_generate_mappings] Update help text
2020-06-24 12:26:15 +08:00
Ming-Hung Tsai
8006e18173
[thin_pool] Fix the number of mapped blocks
2020-06-24 12:26:14 +08:00
Ming-Hung Tsai
084ac4b950
[io_generator] Simplify the class interface
2020-06-24 12:26:09 +08:00
Ming-Hung Tsai
8fa59553c4
[thin_generate_mappings] Introduce the mapping generation tool
2020-06-19 18:07:55 +08:00
Ming-Hung Tsai
621b466333
[all] Eliminate duplicated sector_t typedefs
2020-06-19 18:07:55 +08:00
Ming-Hung Tsai
a345b894d3
[math_utils] Add is_power_of_two()
2020-06-19 18:07:55 +08:00
Ming-Hung Tsai
5260a87c0b
[base] Move math_utils to namespace base
2020-06-19 18:07:55 +08:00
Ming-Hung Tsai
12d7178199
[base] Introduce io_generator
2020-06-19 18:07:55 +08:00
Ming-Hung Tsai
e724a72045
[btree] Implement btree::remove()
2020-06-19 18:07:55 +08:00
Ming-Hung Tsai
ef8e94b22c
[thin_generate_metadata] Support setting transaction id and metadata snapshots
2020-06-19 18:07:55 +08:00
Ming-Hung Tsai
524de134a4
[thin_pool] Support creating metadadata snapshot
2020-06-19 18:07:55 +08:00
Ming-Hung Tsai
e33c60c7e2
[thin_pool] Add close_thin()
2020-06-19 18:07:55 +08:00
Ming-Hung Tsai
89409927b4
[thin_generate_metadata] Support device deletion
2020-06-19 18:07:55 +08:00
Ming-Hung Tsai
a5614f7db2
[thin_pool] Complete device deletion
2020-06-19 18:07:55 +08:00
Ming-Hung Tsai
f803c44e93
[btree] Implement btree::destroy() to delete the entire tree
...
Also decrease the reference count of the mapped values.
(e.g., bitmap blocks of btree_index_store)
2020-06-19 18:07:55 +08:00
Ming-Hung Tsai
4e1ec9326b
[thin_pool] Tidying
...
- Remove unused headers
- Use predefined types
2020-06-19 18:07:55 +08:00
Ming-Hung Tsai
598696bc32
[thin_pool] Implement synchronous mapping insertion and removal
2020-06-19 18:07:55 +08:00
Ming-Hung Tsai
383ae78871
[thin_pool] Determine shared blocks while looking up mappings
2020-06-19 18:07:55 +08:00
Ming-Hung Tsai
a842b4ecfd
[thin_generate_metadata] Make use of thin_pool.cc
2020-06-19 18:07:55 +08:00
Ming-Hung Tsai
66b519db83
[thin_pool] Fix snapshot creation
2020-06-19 17:22:19 +08:00
Ming-Hung Tsai
2cce8a51a7
[thin_pool] Fix mapped block time
2020-06-19 17:22:19 +08:00
Ming-Hung Tsai
7f7ba950ef
[thin_pool] Complete device creation
...
- Set up the device details
- Cache device details of opened devices
- Update changed devices at once while committing the pool
2020-06-19 17:22:19 +08:00
Ming-Hung Tsai
77adb08c3f
[thin_pool] Replace the member pointer by references
2020-06-17 19:09:24 +08:00
Ming-Hung Tsai
0b058a2850
[thin_pool] Encapsulate metadata into the pool class
2020-06-17 19:09:24 +08:00
Ming-Hung Tsai
5810846409
[thin] Add more constructors to device_details
2020-06-17 19:09:24 +08:00
Ming-Hung Tsai
86139cf6bd
[sm_recursive] Fix atomicity when applying BOPs
...
Any BOP should be taken only once. Therefore, we should remove BOPs
that are being processed or had been processed from the uncommitted
list.
2020-05-28 17:30:15 +08:00
Ming-Hung Tsai
0f2918e989
[thin_generate_metadata] Implement format_metadata and create_thin
2020-05-28 17:30:15 +08:00
Ming-Hung Tsai
0c6d132774
[thin_generate_metadata] Preparation for revising the features
2020-05-28 15:09:20 +08:00
Ming-Hung Tsai
c0106fc0b3
[thin_metadata_pack] Improve block scanning performance
2020-05-23 20:32:09 +08:00