// Copyright (c) 2011-present, Facebook, Inc. All rights reserved. // This source code is licensed under the BSD-style license found in the // LICENSE file in the root directory of this source tree. An additional grant // of patent rights can be found in the PATENTS file in the same directory. #pragma once #include #include "rocksdb/env.h" namespace rocksdb { // This API is experimental. We will mark it stable once we run it in production // for a while. // NewFlashcacheAwareEnv() creates and Env that blacklists all background // threads (used for flush and compaction) from using flashcache to cache their // reads. Reads from compaction thread don't need to be cached because they are // going to be soon made obsolete (due to nature of compaction) // Usually you would pass Env::Default() as base. // cachedev_fd is a file descriptor of the flashcache device. Caller has to // open flashcache device before calling this API. extern std::unique_ptr NewFlashcacheAwareEnv( Env* base, const int cachedev_fd); } // namespace rocksdb