From ef8d60ae007d706dc09ebd1c379b61644979f786 Mon Sep 17 00:00:00 2001 From: Niklas Fiekas Date: Wed, 19 Apr 2023 15:22:21 +0200 Subject: [PATCH] Actually enable io-uring (#751) --- librocksdb-sys/build_version.cc | 4 ++++ src/db_options.rs | 11 +++++++++++ 2 files changed, 15 insertions(+) diff --git a/librocksdb-sys/build_version.cc b/librocksdb-sys/build_version.cc index 4c88b19..7fb90e7 100644 --- a/librocksdb-sys/build_version.cc +++ b/librocksdb-sys/build_version.cc @@ -23,6 +23,10 @@ static const std::string rocksdb_build_date = "rocksdb_build_date:2023-02-19 21: std::unordered_map ROCKSDB_NAMESPACE::ObjectRegistry::builtins_ = {}; +extern "C" bool RocksDbIOUringEnable() { + return true; +} + namespace ROCKSDB_NAMESPACE { static void AddProperty(std::unordered_map *props, const std::string& name) { size_t colon = name.find(":"); diff --git a/src/db_options.rs b/src/db_options.rs index 1e8d4cc..ef0ebe2 100644 --- a/src/db_options.rs +++ b/src/db_options.rs @@ -3417,6 +3417,17 @@ impl ReadOptions { ffi::rocksdb_readoptions_set_pin_data(self.inner, c_uchar::from(v)); } } + + /// Asynchronously prefetch some data. + /// + /// Used for sequential reads and internal automatic prefetching. + /// + /// Default: `false` + pub fn set_async_io(&mut self, v: bool) { + unsafe { + ffi::rocksdb_readoptions_set_async_io(self.inner, c_uchar::from(v)); + } + } } impl Default for ReadOptions {