0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-11-25 00:02:34 +01:00

ircd::db: Eliminate the file mgmt thread interposition.

This commit is contained in:
Jason Volk 2021-02-13 02:19:13 -08:00
parent daee7001fb
commit 47f6053a76

View file

@ -109,58 +109,6 @@ rocksdb::WriteThread::BlockingAwaitState(Writer *const w,
}
#endif
///////////////////////////////////////////////////////////////////////////////
//
// DeleteScheduler unconditionally starts an std::thread (pthread_create)
// rather than using the rocksdb::Env system. We override this function to
// simply not start that thread.
//
//
// Mitigations now achieved by killing SstFileManager itself; these obsolete
// the requirement for the DeleteScheduler specific interpositions. This is
// required post RocksDB v6.10.2, and required for prior versions of no other
// specific mitigations against DeleteScheduler are taken.
//
#if __has_include("file/sst_file_manager_impl.h") || __has_include("util/sst_file_manager_impl.h")
rocksdb::SstFileManager *
rocksdb::NewSstFileManager(Env *env,
std::shared_ptr<Logger> info_log,
std::string trash_dir,
int64_t rate_bytes_per_sec,
bool delete_existing_trash,
Status* status,
double max_trash_db_ratio,
uint64_t bytes_max_delete_chunk)
{
if(status)
*status = Status::NotSupported();
return nullptr;
}
#endif
#if defined(IRCD_DB_HAS_ENV_FILESYSTEM) \
&& (__has_include("file/sst_file_manager_impl.h") || __has_include("util/sst_file_manager_impl.h"))
rocksdb::SstFileManager *
rocksdb::NewSstFileManager(Env *env,
std::shared_ptr<FileSystem> fs,
std::shared_ptr<Logger> info_log,
const std::string& trash_dir,
int64_t rate_bytes_per_sec,
bool delete_existing_trash,
Status* status,
double max_trash_db_ratio,
uint64_t bytes_max_delete_chunk)
{
if(status)
*status = Status::NotSupported();
return nullptr;
}
#endif
///////////////////////////////////////////////////////////////////////////////
//
// ThreadLocalPtr