Skip to content

Commit cb7548f

Browse files
committed
crimson/os/seastore: add comments to add a note that seastore_obj_data_write_amplification needs to be reconsidered
Signed-off-by: Myoungwon Oh <[email protected]>
1 parent 64d9451 commit cb7548f

File tree

2 files changed

+7
-0
lines changed

2 files changed

+7
-0
lines changed

src/common/options/crimson.yaml.in

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,8 @@ options:
108108
level: advanced
109109
desc: split extent if ratio of total extent size to write size exceeds this value
110110
default: 1.25
111+
# TODO: seastore_obj_data_write_amplification is no longer correct if
112+
# seastore_data_delta_based_overwrite is enabled. So, this should be reconsidered.
111113
- name: seastore_max_concurrent_transactions
112114
type: uint
113115
level: advanced

src/crimson/os/seastore/object_data_handler.cc

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -711,6 +711,8 @@ struct overwrite_plan_t {
711711
left_operation(overwrite_operation_t::UNKNOWN),
712712
right_operation(overwrite_operation_t::UNKNOWN),
713713
block_size(block_size),
714+
// TODO: introduce PhysicalNodeMapping::is_fresh()
715+
// Note: fresh write can be merged with overwrite if they overlap.
714716
is_left_fresh(!pins.front()->is_stable()),
715717
is_right_fresh(!pins.back()->is_stable()) {
716718
validate();
@@ -741,6 +743,9 @@ struct overwrite_plan_t {
741743
* seastore_obj_data_write_amplification; otherwise, split the
742744
* original extent into at most three parts: origin-left, part-to-be-modified
743745
* and origin-right.
746+
*
747+
* TODO: seastore_obj_data_write_amplification needs to be reconsidered because
748+
* delta-based overwrite is introduced
744749
*/
745750
void evaluate_operations() {
746751
auto actual_write_size = get_pins_size();

0 commit comments

Comments
 (0)