From 911244505951d228fccbb24e61c358b1bb66b836 Mon Sep 17 00:00:00 2001 From: John Sully Date: Tue, 14 Jul 2020 04:24:46 +0000 Subject: [PATCH] Add new storage-provider-options config Former-commit-id: 195a28beecc6094f959ddafef7fe33f5b55e4047 --- src/config.cpp | 3 ++- src/server.h | 1 + src/storage/rocksdbfactory.h | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/config.cpp b/src/config.cpp index fd3ca7635..bf9117247 100644 --- a/src/config.cpp +++ b/src/config.cpp @@ -313,7 +313,7 @@ bool initializeStorageProvider(const char **err) { // Create The Storage Factory (if necessary) serverLog(LL_NOTICE, "Initializing FLASH storage provider (this may take a long time)"); - g_pserver->m_pstorageFactory = CreateRocksDBStorageFactory(g_sdsArgs, cserver.dbnum); + g_pserver->m_pstorageFactory = CreateRocksDBStorageFactory(g_sdsArgs, cserver.dbnum, cserver.storage_conf, cserver.storage_conf ? strlen(cserver.storage_conf) : 0); } else if (!strcasecmp(g_sdsProvider, "test") && g_sdsArgs == nullptr) { @@ -2324,6 +2324,7 @@ standardConfig configs[] = { createStringConfig("bio_cpulist", NULL, IMMUTABLE_CONFIG, EMPTY_STRING_IS_NULL, g_pserver->bio_cpulist, NULL, NULL, NULL), createStringConfig("aof_rewrite_cpulist", NULL, IMMUTABLE_CONFIG, EMPTY_STRING_IS_NULL, g_pserver->aof_rewrite_cpulist, NULL, NULL, NULL), createStringConfig("bgsave_cpulist", NULL, IMMUTABLE_CONFIG, EMPTY_STRING_IS_NULL, g_pserver->bgsave_cpulist, NULL, NULL, NULL), + createStringConfig("storage-provider-options", NULL, IMMUTABLE_CONFIG, EMPTY_STRING_IS_NULL, cserver.storage_conf, NULL, NULL, NULL), /* Enum Configs */ createEnumConfig("supervised", NULL, IMMUTABLE_CONFIG, supervised_mode_enum, cserver.supervised_mode, SUPERVISED_NONE, NULL, NULL), diff --git a/src/server.h b/src/server.h index b96d1bd25..4a5073461 100644 --- a/src/server.h +++ b/src/server.h @@ -2061,6 +2061,7 @@ struct redisServerConst { int thread_min_client_threshold = 50; int multimaster_no_forward; int storage_memory_model = STORAGE_WRITETHROUGH; + char *storage_conf = nullptr; }; struct redisServer { diff --git a/src/storage/rocksdbfactory.h b/src/storage/rocksdbfactory.h index 3171bbd16..d60f9fcf6 100644 --- a/src/storage/rocksdbfactory.h +++ b/src/storage/rocksdbfactory.h @@ -1,3 +1,3 @@ #pragma once -class IStorageFactory *CreateRocksDBStorageFactory(const char *path, int dbnum); \ No newline at end of file +class IStorageFactory *CreateRocksDBStorageFactory(const char *path, int dbnum, const char *rgchConfig, size_t cchConfig); \ No newline at end of file