Loading ifs/include/daemon/adafs_ops/metadentry.hpp +1 −1 Original line number Diff line number Diff line Loading @@ -7,7 +7,7 @@ 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); Loading ifs/include/daemon/backend/metadata/db.hpp +1 −1 Original line number Diff line number Diff line Loading @@ -21,7 +21,7 @@ class MetadataDB { MetadataDB(const std::string& path); std::string get(const std::string& key) const; bool put(const std::string& key, const std::string& val); void put(const std::string& key, const std::string& val); void remove(const std::string& key); bool exists(const std::string& key); bool update(const std::string& old_key, const std::string& new_key, const std::string& val); Loading ifs/src/daemon/adafs_daemon.cpp +4 −2 Original line number Diff line number Diff line Loading @@ -64,8 +64,10 @@ bool init_environment() { ADAFS_DATA->link_cnt_state(MDATA_USE_LINK_CNT); ADAFS_DATA->blocks_state(MDATA_USE_BLOCKS); // Create metadentry for root directory if (create_metadentry(ADAFS_DATA->mountdir(), S_IFDIR | 777) != 0) { ADAFS_DATA->spdlogger()->error("{}() Unable to write root metadentry to KV store.", __func__); try { create_metadentry(ADAFS_DATA->mountdir(), S_IFDIR | 777); } catch (const std::exception& e ) { ADAFS_DATA->spdlogger()->error("{}() Unable to write root metadentry to KV store: {}", __func__, e.what()); return false; } ADAFS_DATA->spdlogger()->info("Startup successful. Daemon is ready."); Loading ifs/src/daemon/adafs_ops/metadentry.cpp +2 −3 Original line number Diff line number Diff line Loading @@ -15,9 +15,8 @@ ino_t generate_inode_no() { * Creates metadata (if required) and dentry at the same time * @param path * @param mode * @return */ int create_metadentry(const std::string& path, mode_t mode) { void create_metadentry(const std::string& path, mode_t mode) { Metadata md{path, mode}; // update metadata object based on what metadata is needed Loading @@ -39,7 +38,7 @@ int create_metadentry(const std::string& path, mode_t mode) { if (ADAFS_DATA->inode_no_state()) md.inode_no(generate_inode_no()); return ADAFS_DATA->mdb()->put(path, md.serialize()) ? 0 : -1; ADAFS_DATA->mdb()->put(path, md.serialize()); } std::string get_metadentry_str(const std::string& path) { Loading ifs/src/daemon/backend/metadata/db.cpp +2 −3 Original line number Diff line number Diff line Loading @@ -43,13 +43,12 @@ std::string MetadataDB::get(const std::string& key) const { return val; } bool MetadataDB::put(const std::string& key, const std::string& val) { void MetadataDB::put(const std::string& key, const std::string& val) { auto cop = CreateOperand(val); auto s = db->Merge(write_opts, key, cop.serialize()); if(!s.ok()){ //TODO ADAFS_DATA->spdlogger()->error("Failed to create metadentry size. RDB error: [{}]", s.ToString()); MetadataDB::throw_rdb_status_excpt(s); } return s.ok(); } void MetadataDB::remove(const std::string& key) { Loading Loading
ifs/include/daemon/adafs_ops/metadentry.hpp +1 −1 Original line number Diff line number Diff line Loading @@ -7,7 +7,7 @@ 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); Loading
ifs/include/daemon/backend/metadata/db.hpp +1 −1 Original line number Diff line number Diff line Loading @@ -21,7 +21,7 @@ class MetadataDB { MetadataDB(const std::string& path); std::string get(const std::string& key) const; bool put(const std::string& key, const std::string& val); void put(const std::string& key, const std::string& val); void remove(const std::string& key); bool exists(const std::string& key); bool update(const std::string& old_key, const std::string& new_key, const std::string& val); Loading
ifs/src/daemon/adafs_daemon.cpp +4 −2 Original line number Diff line number Diff line Loading @@ -64,8 +64,10 @@ bool init_environment() { ADAFS_DATA->link_cnt_state(MDATA_USE_LINK_CNT); ADAFS_DATA->blocks_state(MDATA_USE_BLOCKS); // Create metadentry for root directory if (create_metadentry(ADAFS_DATA->mountdir(), S_IFDIR | 777) != 0) { ADAFS_DATA->spdlogger()->error("{}() Unable to write root metadentry to KV store.", __func__); try { create_metadentry(ADAFS_DATA->mountdir(), S_IFDIR | 777); } catch (const std::exception& e ) { ADAFS_DATA->spdlogger()->error("{}() Unable to write root metadentry to KV store: {}", __func__, e.what()); return false; } ADAFS_DATA->spdlogger()->info("Startup successful. Daemon is ready."); Loading
ifs/src/daemon/adafs_ops/metadentry.cpp +2 −3 Original line number Diff line number Diff line Loading @@ -15,9 +15,8 @@ ino_t generate_inode_no() { * Creates metadata (if required) and dentry at the same time * @param path * @param mode * @return */ int create_metadentry(const std::string& path, mode_t mode) { void create_metadentry(const std::string& path, mode_t mode) { Metadata md{path, mode}; // update metadata object based on what metadata is needed Loading @@ -39,7 +38,7 @@ int create_metadentry(const std::string& path, mode_t mode) { if (ADAFS_DATA->inode_no_state()) md.inode_no(generate_inode_no()); return ADAFS_DATA->mdb()->put(path, md.serialize()) ? 0 : -1; ADAFS_DATA->mdb()->put(path, md.serialize()); } std::string get_metadentry_str(const std::string& path) { Loading
ifs/src/daemon/backend/metadata/db.cpp +2 −3 Original line number Diff line number Diff line Loading @@ -43,13 +43,12 @@ std::string MetadataDB::get(const std::string& key) const { return val; } bool MetadataDB::put(const std::string& key, const std::string& val) { void MetadataDB::put(const std::string& key, const std::string& val) { auto cop = CreateOperand(val); auto s = db->Merge(write_opts, key, cop.serialize()); if(!s.ok()){ //TODO ADAFS_DATA->spdlogger()->error("Failed to create metadentry size. RDB error: [{}]", s.ToString()); MetadataDB::throw_rdb_status_excpt(s); } return s.ok(); } void MetadataDB::remove(const std::string& key) { Loading