* gnu/packages/patches/ceph-disable-cpu-optimizations.patch: Adjust to upstream changes. * gnu/packages/patches/ceph-disable-unittest-throttle.patch: Delete file. * gnu/packages/patches/ceph-rocksdb-compat.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/storage.scm (ceph): Update to 12.2.4. [source](patches): Adjust. [arguments]: Add "-DWITH_BABELTRACE=OFF" in #:configure-flags. Build with CMAKE-3.11. Adjust file substitutions. Wrap 'ceph' executable. [native-inputs]: Add GPERF. [inputs]: Replace BOOST with BOOST-1.66. Add PYTHON2-PRETTYTABLE.
		
			
				
	
	
		
			63 lines
		
	
	
	
		
			3.1 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			63 lines
		
	
	
	
		
			3.1 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
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);
 |