]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/os/seastore: add comments to add a note that seastore_obj_data_write_amplific... 57368/head
authormyoungwon oh <ohmyoungwon@gmail.com>
Mon, 13 May 2024 04:21:26 +0000 (04:21 +0000)
committermyoungwon oh <ohmyoungwon@gmail.com>
Tue, 14 May 2024 01:06:43 +0000 (01:06 +0000)
Signed-off-by: Myoungwon Oh <myoungwon.oh@samsung.com>
src/common/options/crimson.yaml.in
src/crimson/os/seastore/object_data_handler.cc

index 7030780d9a9fdc8022a5d0542ac8bee08700dc87..0c25c3f614060b8c4d2478950ffc509d3ef35e38 100644 (file)
@@ -108,6 +108,8 @@ options:
   level: advanced
   desc: split extent if ratio of total extent size to write size exceeds this value
   default: 1.25
+# TODO: seastore_obj_data_write_amplification is no longer correct if 
+#       seastore_data_delta_based_overwrite is enabled. So, this should be reconsidered.
 - name: seastore_max_concurrent_transactions
   type: uint
   level: advanced
index 193927471b6025ae1de8771d2d4f636f7292a35e..57595fc2ca097433ec7d2564ff872370477110a5 100644 (file)
@@ -711,6 +711,8 @@ public:
       left_operation(overwrite_operation_t::UNKNOWN),
       right_operation(overwrite_operation_t::UNKNOWN),
       block_size(block_size),
+      // TODO: introduce PhysicalNodeMapping::is_fresh()
+      // Note: fresh write can be merged with overwrite if they overlap.
       is_left_fresh(!pins.front()->is_stable()),
       is_right_fresh(!pins.back()->is_stable()) {
     validate();
@@ -741,6 +743,9 @@ private:
    * seastore_obj_data_write_amplification; otherwise, split the
    * original extent into at most three parts: origin-left, part-to-be-modified
    * and origin-right.
+   *
+   * TODO: seastore_obj_data_write_amplification needs to be reconsidered because
+   * delta-based overwrite is introduced
    */
   void evaluate_operations() {
     auto actual_write_size = get_pins_size();