]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/os/bluestore/BlueStore.cc
import ceph 15.2.10
[ceph.git] / ceph / src / os / bluestore / BlueStore.cc
index 26de268192baaa042f40ce3e567a19c1d043f1d3..867de685423f5da0f9f1e9dc357c698e509c2dfd 100644 (file)
@@ -5771,6 +5771,14 @@ int BlueStore::_open_bluefs(bool create)
   if (bluefs_layout.shared_bdev == BlueFS::BDEV_SLOW) {
 
     string options = cct->_conf->bluestore_rocksdb_options;
+    string options_annex = cct->_conf->bluestore_rocksdb_options_annex;
+    if (!options_annex.empty()) {
+      if (!options.empty() &&
+        *options.rbegin() != ',') {
+        options += ',';
+      }
+      options += options_annex;
+    }
 
     rocksdb::Options rocks_opts;
     int r = RocksDBStore::ParseOptionsFromStringStatic(
@@ -5973,6 +5981,7 @@ int BlueStore::_open_db(bool create, bool to_repair_db, bool read_only)
   ceph_assert(!(create && read_only));
   string fn = path + "/db";
   string options;
+  string options_annex;
   stringstream err;
   std::shared_ptr<Int64ArrayMergeOperator> merge_op(new Int64ArrayMergeOperator);
 
@@ -6121,6 +6130,14 @@ int BlueStore::_open_db(bool create, bool to_repair_db, bool read_only)
 
   if (kv_backend == "rocksdb") {
     options = cct->_conf->bluestore_rocksdb_options;
+    options_annex = cct->_conf->bluestore_rocksdb_options_annex;
+    if (!options_annex.empty()) {
+      if (!options.empty() &&
+        *options.rbegin() != ',') {
+        options += ',';
+      }
+      options += options_annex;
+    }
 
     map<string,string> cf_map;
     cct->_conf.with_val<string>("bluestore_rocksdb_cfs",