aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/patches/ceph-rocksdb-compat.patch
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/patches/ceph-rocksdb-compat.patch')
-rw-r--r--gnu/packages/patches/ceph-rocksdb-compat.patch63
1 files changed, 63 insertions, 0 deletions
diff --git a/gnu/packages/patches/ceph-rocksdb-compat.patch b/gnu/packages/patches/ceph-rocksdb-compat.patch
new file mode 100644
index 0000000000..1a3c6b0b23
--- /dev/null
+++ b/gnu/packages/patches/ceph-rocksdb-compat.patch
@@ -0,0 +1,63 @@
+Fix compatibility with newer versions of RocksDB.
+
+Adapted from this upstream patch, with some additional changes for 12.2:
+https://github.com/ceph/ceph/commit/9d73a7121fdb1ae87cb1aa6f7d9d7a13f329ae68
+
+diff --git a/src/kv/RocksDBStore.cc b/src/kv/RocksDBStore.cc
+index 8660afe1886d..bc0de79e23cb 100644
+--- a/src/kv/RocksDBStore.cc
++++ b/src/kv/RocksDBStore.cc
+@@ -505,7 +505,7 @@
+ // considering performance overhead, default is disabled
+ if (g_conf->rocksdb_perf) {
+ rocksdb::SetPerfLevel(rocksdb::PerfLevel::kEnableTimeExceptForMutex);
+- rocksdb::perf_context.Reset();
++ rocksdb::get_perf_context()->Reset();
+ }
+
+ RocksDBTransactionImpl * _t =
+@@ -532,13 +532,13 @@
+ utime_t write_wal_time;
+ utime_t write_pre_and_post_process_time;
+ write_wal_time.set_from_double(
+- static_cast<double>(rocksdb::perf_context.write_wal_time)/1000000000);
++ static_cast<double>(rocksdb::get_perf_context()->write_wal_time)/1000000000);
+ write_memtable_time.set_from_double(
+- static_cast<double>(rocksdb::perf_context.write_memtable_time)/1000000000);
++ static_cast<double>(rocksdb::get_perf_context()->write_memtable_time)/1000000000);
+ write_delay_time.set_from_double(
+- static_cast<double>(rocksdb::perf_context.write_delay_time)/1000000000);
++ static_cast<double>(rocksdb::get_perf_context()->write_delay_time)/1000000000);
+ write_pre_and_post_process_time.set_from_double(
+- static_cast<double>(rocksdb::perf_context.write_pre_and_post_process_time)/1000000000);
++ static_cast<double>(rocksdb::get_perf_context()->write_pre_and_post_process_time)/1000000000);
+ logger->tinc(l_rocksdb_write_memtable_time, write_memtable_time);
+ logger->tinc(l_rocksdb_write_delay_time, write_delay_time);
+ logger->tinc(l_rocksdb_write_wal_time, write_wal_time);
+@@ -558,7 +558,7 @@
+ // considering performance overhead, default is disabled
+ if (g_conf->rocksdb_perf) {
+ rocksdb::SetPerfLevel(rocksdb::PerfLevel::kEnableTimeExceptForMutex);
+- rocksdb::perf_context.Reset();
++ rocksdb::get_perf_context()->Reset();
+ }
+
+ RocksDBTransactionImpl * _t =
+@@ -586,13 +586,13 @@
+ utime_t write_wal_time;
+ utime_t write_pre_and_post_process_time;
+ write_wal_time.set_from_double(
+- static_cast<double>(rocksdb::perf_context.write_wal_time)/1000000000);
++ static_cast<double>(rocksdb::get_perf_context()->write_wal_time)/1000000000);
+ write_memtable_time.set_from_double(
+- static_cast<double>(rocksdb::perf_context.write_memtable_time)/1000000000);
++ static_cast<double>(rocksdb::get_perf_context()->write_memtable_time)/1000000000);
+ write_delay_time.set_from_double(
+- static_cast<double>(rocksdb::perf_context.write_delay_time)/1000000000);
++ static_cast<double>(rocksdb::get_perf_context()->write_delay_time)/1000000000);
+ write_pre_and_post_process_time.set_from_double(
+- static_cast<double>(rocksdb::perf_context.write_pre_and_post_process_time)/1000000000);
++ static_cast<double>(rocksdb::get_perf_context()->write_pre_and_post_process_time)/1000000000);
+ logger->tinc(l_rocksdb_write_memtable_time, write_memtable_time);
+ logger->tinc(l_rocksdb_write_delay_time, write_delay_time);
+ logger->tinc(l_rocksdb_write_wal_time, write_wal_time);