]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
crimson/os/seastore: add comments to add a note that seastore_obj_data_write_amplific...
authormyoungwon oh <ohmyoungwon@gmail.com>
Mon, 13 May 2024 04:21:26 +0000 (04:21 +0000)
committerMatan Breizman <mbreizma@redhat.com>
Thu, 13 Jun 2024 12:20:14 +0000 (15:20 +0300)
Signed-off-by: Myoungwon Oh <myoungwon.oh@samsung.com>
(cherry picked from commit cb7548f0dcc9fe6dd9bdfe360dc1bd3eb3a51ae6)

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();