]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
os/bluestore: start/stop BlueFS spillover cleaner on config change
authorJaya Prakash <jayaprakash@ibm.com>
Mon, 16 Mar 2026 19:22:49 +0000 (19:22 +0000)
committerJaya Prakash <jayaprakash@ibm.com>
Mon, 1 Jun 2026 18:37:39 +0000 (18:37 +0000)
Fixes: https://tracker.ceph.com/issues/74319
Signed-off-by: Jaya Prakash <jayaprakash@ibm.com>
(cherry picked from commit dc768b782d54cc6a5dee29a9c4f358e8b9183aa6)

src/os/bluestore/BlueStore.cc

index b5619a49ffc9f36f57c4d0234509be751a8a7787..5fe32a0c616e149038e4df2ff70c7c2ddb938f43 100644 (file)
@@ -5898,7 +5898,8 @@ std::vector<std::string> BlueStore::get_tracked_keys() const noexcept
     "bluestore_onode_segment_size"s,
     "bluestore_allocator_lookup_policy"s,
     "bluestore_volume_selection_reserved_factor"s,
-    "bluestore_volume_selection_reserved"s
+    "bluestore_volume_selection_reserved"s,
+    "bluefs_spillover_cleaner"s
   };
 }
 
@@ -5982,6 +5983,11 @@ void BlueStore::handle_conf_change(const ConfigProxy& conf,
     if (bluefs)
       bluefs->update_volume_selector_from_config();
   }
+  if (changed.count("bluefs_spillover_cleaner")) {
+    if (bluefs) {
+      bluefs->update_spillover_cleaner_from_config();
+    }
+  }
 }
 
 void BlueStore::_set_compression()
@@ -9636,6 +9642,10 @@ int BlueStore::_mount()
     }
   }
 
+  if (bluefs && cct->_conf.get_val<bool>("bluefs_spillover_cleaner")) {
+    bluefs->spillover_cleaner_start();
+  }
+
   mounted = true;
   return 0;
 }
@@ -9646,6 +9656,10 @@ int BlueStore::umount()
   ceph_assert(_kv_only || mounted);
   _osr_drain_all();
 
+  if (bluefs) {
+    bluefs->spillover_cleaner_stop();
+  }
+
   mounted = false;
 
   ceph_assert(alloc);