Loading ifs/CMakeLists.txt +3 −6 Original line number Diff line number Diff line Loading @@ -110,14 +110,11 @@ if (NOT USE_OFI_VERBS AND NOT USE_OFI_PSM2 AND NOT USE_CCI AND NOT USE_BMI) add_definitions(-DRPC_PROTOCOL="bmi+tcp") endif() set(INCLUDE_DIR "${CMAKE_SOURCE_DIR}/include") # define include directories that are relevant for all targets include_directories( include ${ABT_INCLUDE_DIRS} ${ABT_SNOOZER_INCLUDE_DIRS} ${LIBEV_INCLUDE_DIRS} ${MERCURY_INCLUDE_DIRS} ${MARGO_INCLUDE_DIRS} ${INCLUDE_DIR} ) # Daemon Loading ifs/include/daemon/adafs_daemon.hpp +0 −7 Original line number Diff line number Diff line Loading @@ -11,13 +11,6 @@ // third party libs #include <extern/spdlog/spdlog.h> #include <extern/spdlog/fmt/fmt.h> // rocksdb #include <rocksdb/db.h> #include <rocksdb/slice.h> #include <rocksdb/options.h> #include <rocksdb/utilities/transaction.h> #include <rocksdb/utilities/optimistic_transaction_db.h> #include <rocksdb/write_batch.h> // margo extern "C" { #include <abt.h> Loading ifs/include/daemon/adafs_ops/metadentry.hpp +7 −9 Original line number Diff line number Diff line Loading @@ -8,23 +8,21 @@ int create_node(const std::string& path, const uid_t uid, const gid_t gid, mode_t mode); int create_metadentry(const std::string& path, mode_t mode); void create_metadentry(const std::string& path, mode_t mode); int db_val_to_stat(const std::string& path, std::string db_val, struct stat& attr); int get_metadentry(const std::string& path, std::string& val); std::string get_metadentry_str(const std::string& path); int get_metadentry(const std::string& path, Metadata& md); Metadata get_metadentry(const std::string& path); int remove_metadentry(const std::string& path); void remove_node(const std::string& path); int remove_node(const std::string& path); size_t get_metadentry_size(const std::string& path); int get_metadentry_size(const std::string& path, size_t& ret_size); void update_metadentry_size(const std::string& path, size_t io_size, off_t offset, bool append); int update_metadentry_size(const std::string& path, size_t io_size, off_t offset, bool append, size_t& read_size); int update_metadentry(const std::string& path, Metadata& md); void update_metadentry(const std::string& path, Metadata& md); int check_access_mask(const std::string& path, int mask); Loading ifs/include/daemon/backend/exceptions.hpp 0 → 100644 +17 −0 Original line number Diff line number Diff line #ifndef IFS_DB_EXCEPTIONS_HPP #define IFS_DB_EXCEPTIONS_HPP #include <string> #include <stdexcept> class DBException: public std::runtime_error { public: DBException(const std::string & s) : std::runtime_error(s) {}; }; class NotFoundException: public DBException { public: NotFoundException(const std::string & s) : DBException(s) {}; }; #endif //IFS_DB_EXCEPTIONS_HPP ifs/include/daemon/backend/metadata/db.hpp 0 → 100644 +32 −0 Original line number Diff line number Diff line #ifndef IFS_METADATA_DB_HPP #define IFS_METADATA_DB_HPP #include <memory> #include "rocksdb/db.h" #include "daemon/backend/exceptions.hpp" namespace rdb = rocksdb; class MetadataDB { private: std::unique_ptr<rdb::DB> db; rdb::Options options; rdb::WriteOptions write_opts; std::string path; static void optimize_rocksdb_options(rdb::Options& options); public: static inline void throw_rdb_status_excpt(const rdb::Status& s); MetadataDB(const std::string& path); std::string get(const std::string& key) const; void put(const std::string& key, const std::string& val); void remove(const std::string& key); bool exists(const std::string& key); void update(const std::string& old_key, const std::string& new_key, const std::string& val); void update_size(const std::string& key, size_t size, bool append); void iterate_all(); }; #endif //IFS_METADATA_DB_HPP Loading
ifs/CMakeLists.txt +3 −6 Original line number Diff line number Diff line Loading @@ -110,14 +110,11 @@ if (NOT USE_OFI_VERBS AND NOT USE_OFI_PSM2 AND NOT USE_CCI AND NOT USE_BMI) add_definitions(-DRPC_PROTOCOL="bmi+tcp") endif() set(INCLUDE_DIR "${CMAKE_SOURCE_DIR}/include") # define include directories that are relevant for all targets include_directories( include ${ABT_INCLUDE_DIRS} ${ABT_SNOOZER_INCLUDE_DIRS} ${LIBEV_INCLUDE_DIRS} ${MERCURY_INCLUDE_DIRS} ${MARGO_INCLUDE_DIRS} ${INCLUDE_DIR} ) # Daemon Loading
ifs/include/daemon/adafs_daemon.hpp +0 −7 Original line number Diff line number Diff line Loading @@ -11,13 +11,6 @@ // third party libs #include <extern/spdlog/spdlog.h> #include <extern/spdlog/fmt/fmt.h> // rocksdb #include <rocksdb/db.h> #include <rocksdb/slice.h> #include <rocksdb/options.h> #include <rocksdb/utilities/transaction.h> #include <rocksdb/utilities/optimistic_transaction_db.h> #include <rocksdb/write_batch.h> // margo extern "C" { #include <abt.h> Loading
ifs/include/daemon/adafs_ops/metadentry.hpp +7 −9 Original line number Diff line number Diff line Loading @@ -8,23 +8,21 @@ int create_node(const std::string& path, const uid_t uid, const gid_t gid, mode_t mode); int create_metadentry(const std::string& path, mode_t mode); void create_metadentry(const std::string& path, mode_t mode); int db_val_to_stat(const std::string& path, std::string db_val, struct stat& attr); int get_metadentry(const std::string& path, std::string& val); std::string get_metadentry_str(const std::string& path); int get_metadentry(const std::string& path, Metadata& md); Metadata get_metadentry(const std::string& path); int remove_metadentry(const std::string& path); void remove_node(const std::string& path); int remove_node(const std::string& path); size_t get_metadentry_size(const std::string& path); int get_metadentry_size(const std::string& path, size_t& ret_size); void update_metadentry_size(const std::string& path, size_t io_size, off_t offset, bool append); int update_metadentry_size(const std::string& path, size_t io_size, off_t offset, bool append, size_t& read_size); int update_metadentry(const std::string& path, Metadata& md); void update_metadentry(const std::string& path, Metadata& md); int check_access_mask(const std::string& path, int mask); Loading
ifs/include/daemon/backend/exceptions.hpp 0 → 100644 +17 −0 Original line number Diff line number Diff line #ifndef IFS_DB_EXCEPTIONS_HPP #define IFS_DB_EXCEPTIONS_HPP #include <string> #include <stdexcept> class DBException: public std::runtime_error { public: DBException(const std::string & s) : std::runtime_error(s) {}; }; class NotFoundException: public DBException { public: NotFoundException(const std::string & s) : DBException(s) {}; }; #endif //IFS_DB_EXCEPTIONS_HPP
ifs/include/daemon/backend/metadata/db.hpp 0 → 100644 +32 −0 Original line number Diff line number Diff line #ifndef IFS_METADATA_DB_HPP #define IFS_METADATA_DB_HPP #include <memory> #include "rocksdb/db.h" #include "daemon/backend/exceptions.hpp" namespace rdb = rocksdb; class MetadataDB { private: std::unique_ptr<rdb::DB> db; rdb::Options options; rdb::WriteOptions write_opts; std::string path; static void optimize_rocksdb_options(rdb::Options& options); public: static inline void throw_rdb_status_excpt(const rdb::Status& s); MetadataDB(const std::string& path); std::string get(const std::string& key) const; void put(const std::string& key, const std::string& val); void remove(const std::string& key); bool exists(const std::string& key); void update(const std::string& old_key, const std::string& new_key, const std::string& val); void update_size(const std::string& key, size_t size, bool append); void iterate_all(); }; #endif //IFS_METADATA_DB_HPP