Loading include/daemon/backend/data/chunk_storage.hpp +5 −5 Original line number Diff line number Diff line Loading @@ -54,7 +54,7 @@ private: static inline std::string get_chunks_dir(const std::string& file_path); static inline std::string get_chunk_path(const std::string& file_path, gkfs::types::rpc_chnk_id_t chunk_id); static inline std::string get_chunk_path(const std::string& file_path, gkfs::rpc::chnk_id_t chunk_id); void init_chunk_space(const std::string& file_path) const; Loading @@ -64,15 +64,15 @@ public: void destroy_chunk_space(const std::string& file_path) const; ssize_t write_chunk(const std::string& file_path, gkfs::types::rpc_chnk_id_t chunk_id, const char* buff, size_t size, write_chunk(const std::string& file_path, gkfs::rpc::chnk_id_t chunk_id, const char* buff, size_t size, off64_t offset) const; ssize_t read_chunk(const std::string& file_path, gkfs::types::rpc_chnk_id_t chunk_id, char* buf, size_t size, ssize_t read_chunk(const std::string& file_path, gkfs::rpc::chnk_id_t chunk_id, char* buf, size_t size, off64_t offset) const; void trim_chunk_space(const std::string& file_path, gkfs::types::rpc_chnk_id_t chunk_start); void trim_chunk_space(const std::string& file_path, gkfs::rpc::chnk_id_t chunk_start); void truncate_chunk_file(const std::string& file_path, gkfs::types::rpc_chnk_id_t chunk_id, off_t length); void truncate_chunk_file(const std::string& file_path, gkfs::rpc::chnk_id_t chunk_id, off_t length); ChunkStat chunk_stat() const; }; Loading include/daemon/ops/data.hpp +2 −2 Original line number Diff line number Diff line Loading @@ -111,7 +111,7 @@ private: struct chunk_write_args { const std::string* path; const char* buf; gkfs::types::rpc_chnk_id_t chnk_id; gkfs::rpc::chnk_id_t chnk_id; size_t size; off64_t off; ABT_eventual eventual; Loading Loading @@ -141,7 +141,7 @@ private: struct chunk_read_args { const std::string* path; char* buf; gkfs::types::rpc_chnk_id_t chnk_id; gkfs::rpc::chnk_id_t chnk_id; size_t size; off64_t off; ABT_eventual eventual; Loading include/global/global_defs.hpp +3 −4 Original line number Diff line number Diff line Loading @@ -18,6 +18,9 @@ namespace gkfs { // These constexpr set the RPC's identity and which handler the receiver end should use namespace rpc { using chnk_id_t = unsigned long; namespace tag { constexpr auto fs_config = "rpc_srv_fs_config"; Loading Loading @@ -46,10 +49,6 @@ constexpr auto ofi_verbs = "ofi+verbs"; } // namespace protocol } // namespace rpc namespace types { // typedefs typedef unsigned long rpc_chnk_id_t; } // namespace types } // namespace gkfs #endif //GEKKOFS_GLOBAL_DEFS_HPP src/daemon/backend/data/chunk_storage.cpp +6 −6 Original line number Diff line number Diff line Loading @@ -44,7 +44,7 @@ string ChunkStorage::get_chunks_dir(const string& file_path) { return chunk_dir; } string ChunkStorage::get_chunk_path(const string& file_path, gkfs::types::rpc_chnk_id_t chunk_id) { string ChunkStorage::get_chunk_path(const string& file_path, gkfs::rpc::chnk_id_t chunk_id) { return fmt::format("{}/{}", get_chunks_dir(file_path), chunk_id); } Loading Loading @@ -120,7 +120,7 @@ void ChunkStorage::destroy_chunk_space(const string& file_path) const { * @throws ChunkStorageException (caller will handle eventual signalling) */ ssize_t ChunkStorage::write_chunk(const string& file_path, gkfs::types::rpc_chnk_id_t chunk_id, const char* buff, size_t size, ChunkStorage::write_chunk(const string& file_path, gkfs::rpc::chnk_id_t chunk_id, const char* buff, size_t size, off64_t offset) const { assert((offset + size) <= chunksize_); Loading Loading @@ -163,7 +163,7 @@ ChunkStorage::write_chunk(const string& file_path, gkfs::types::rpc_chnk_id_t ch * @param eventual */ ssize_t ChunkStorage::read_chunk(const string& file_path, gkfs::types::rpc_chnk_id_t chunk_id, char* buf, size_t size, ChunkStorage::read_chunk(const string& file_path, gkfs::rpc::chnk_id_t chunk_id, char* buf, size_t size, off64_t offset) const { assert((offset + size) <= chunksize_); auto chunk_path = absolute(get_chunk_path(file_path, chunk_id)); Loading Loading @@ -230,7 +230,7 @@ ChunkStorage::read_chunk(const string& file_path, gkfs::types::rpc_chnk_id_t chu * @param chunk_end * @throws ChunkStorageException */ void ChunkStorage::trim_chunk_space(const string& file_path, gkfs::types::rpc_chnk_id_t chunk_start) { void ChunkStorage::trim_chunk_space(const string& file_path, gkfs::rpc::chnk_id_t chunk_start) { auto chunk_dir = absolute(get_chunks_dir(file_path)); const bfs::directory_iterator end; Loading Loading @@ -259,9 +259,9 @@ void ChunkStorage::trim_chunk_space(const string& file_path, gkfs::types::rpc_ch * @param length * @throws ChunkStorageException */ void ChunkStorage::truncate_chunk_file(const string& file_path, gkfs::types::rpc_chnk_id_t chunk_id, off_t length) { void ChunkStorage::truncate_chunk_file(const string& file_path, gkfs::rpc::chnk_id_t chunk_id, off_t length) { auto chunk_path = absolute(get_chunk_path(file_path, chunk_id)); assert(length > 0 && static_cast<gkfs::types::rpc_chnk_id_t>(length) <= chunksize_); assert(length > 0 && static_cast<gkfs::rpc::chnk_id_t>(length) <= chunksize_); int ret = truncate64(chunk_path.c_str(), length); if (ret == -1) { auto err_str = fmt::format("Failed to truncate chunk file. File: '{}', Error: '{}'", chunk_path, Loading src/daemon/ops/data.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -162,7 +162,7 @@ int ChunkTruncateOperation::wait_for_tasks() { * Used by an argobots tasklet. Argument args has the following fields: * const string* path; const char* buf; const gkfs::types::rpc_chnk_id_t* chnk_id; const gkfs::rpc::chnk_id_t* chnk_id; size_t size; off64_t off; ABT_eventual* eventual; Loading Loading @@ -281,7 +281,7 @@ pair<int, size_t> ChunkWriteOperation::wait_for_tasks() { * Used by an argobots tasklet. Argument args has the following fields: * const string* path; char* buf; const gkfs::types::rpc_chnk_id_t* chnk_id; const gkfs::rpc::chnk_id_t* chnk_id; size_t size; off64_t off; ABT_eventual* eventual; Loading Loading
include/daemon/backend/data/chunk_storage.hpp +5 −5 Original line number Diff line number Diff line Loading @@ -54,7 +54,7 @@ private: static inline std::string get_chunks_dir(const std::string& file_path); static inline std::string get_chunk_path(const std::string& file_path, gkfs::types::rpc_chnk_id_t chunk_id); static inline std::string get_chunk_path(const std::string& file_path, gkfs::rpc::chnk_id_t chunk_id); void init_chunk_space(const std::string& file_path) const; Loading @@ -64,15 +64,15 @@ public: void destroy_chunk_space(const std::string& file_path) const; ssize_t write_chunk(const std::string& file_path, gkfs::types::rpc_chnk_id_t chunk_id, const char* buff, size_t size, write_chunk(const std::string& file_path, gkfs::rpc::chnk_id_t chunk_id, const char* buff, size_t size, off64_t offset) const; ssize_t read_chunk(const std::string& file_path, gkfs::types::rpc_chnk_id_t chunk_id, char* buf, size_t size, ssize_t read_chunk(const std::string& file_path, gkfs::rpc::chnk_id_t chunk_id, char* buf, size_t size, off64_t offset) const; void trim_chunk_space(const std::string& file_path, gkfs::types::rpc_chnk_id_t chunk_start); void trim_chunk_space(const std::string& file_path, gkfs::rpc::chnk_id_t chunk_start); void truncate_chunk_file(const std::string& file_path, gkfs::types::rpc_chnk_id_t chunk_id, off_t length); void truncate_chunk_file(const std::string& file_path, gkfs::rpc::chnk_id_t chunk_id, off_t length); ChunkStat chunk_stat() const; }; Loading
include/daemon/ops/data.hpp +2 −2 Original line number Diff line number Diff line Loading @@ -111,7 +111,7 @@ private: struct chunk_write_args { const std::string* path; const char* buf; gkfs::types::rpc_chnk_id_t chnk_id; gkfs::rpc::chnk_id_t chnk_id; size_t size; off64_t off; ABT_eventual eventual; Loading Loading @@ -141,7 +141,7 @@ private: struct chunk_read_args { const std::string* path; char* buf; gkfs::types::rpc_chnk_id_t chnk_id; gkfs::rpc::chnk_id_t chnk_id; size_t size; off64_t off; ABT_eventual eventual; Loading
include/global/global_defs.hpp +3 −4 Original line number Diff line number Diff line Loading @@ -18,6 +18,9 @@ namespace gkfs { // These constexpr set the RPC's identity and which handler the receiver end should use namespace rpc { using chnk_id_t = unsigned long; namespace tag { constexpr auto fs_config = "rpc_srv_fs_config"; Loading Loading @@ -46,10 +49,6 @@ constexpr auto ofi_verbs = "ofi+verbs"; } // namespace protocol } // namespace rpc namespace types { // typedefs typedef unsigned long rpc_chnk_id_t; } // namespace types } // namespace gkfs #endif //GEKKOFS_GLOBAL_DEFS_HPP
src/daemon/backend/data/chunk_storage.cpp +6 −6 Original line number Diff line number Diff line Loading @@ -44,7 +44,7 @@ string ChunkStorage::get_chunks_dir(const string& file_path) { return chunk_dir; } string ChunkStorage::get_chunk_path(const string& file_path, gkfs::types::rpc_chnk_id_t chunk_id) { string ChunkStorage::get_chunk_path(const string& file_path, gkfs::rpc::chnk_id_t chunk_id) { return fmt::format("{}/{}", get_chunks_dir(file_path), chunk_id); } Loading Loading @@ -120,7 +120,7 @@ void ChunkStorage::destroy_chunk_space(const string& file_path) const { * @throws ChunkStorageException (caller will handle eventual signalling) */ ssize_t ChunkStorage::write_chunk(const string& file_path, gkfs::types::rpc_chnk_id_t chunk_id, const char* buff, size_t size, ChunkStorage::write_chunk(const string& file_path, gkfs::rpc::chnk_id_t chunk_id, const char* buff, size_t size, off64_t offset) const { assert((offset + size) <= chunksize_); Loading Loading @@ -163,7 +163,7 @@ ChunkStorage::write_chunk(const string& file_path, gkfs::types::rpc_chnk_id_t ch * @param eventual */ ssize_t ChunkStorage::read_chunk(const string& file_path, gkfs::types::rpc_chnk_id_t chunk_id, char* buf, size_t size, ChunkStorage::read_chunk(const string& file_path, gkfs::rpc::chnk_id_t chunk_id, char* buf, size_t size, off64_t offset) const { assert((offset + size) <= chunksize_); auto chunk_path = absolute(get_chunk_path(file_path, chunk_id)); Loading Loading @@ -230,7 +230,7 @@ ChunkStorage::read_chunk(const string& file_path, gkfs::types::rpc_chnk_id_t chu * @param chunk_end * @throws ChunkStorageException */ void ChunkStorage::trim_chunk_space(const string& file_path, gkfs::types::rpc_chnk_id_t chunk_start) { void ChunkStorage::trim_chunk_space(const string& file_path, gkfs::rpc::chnk_id_t chunk_start) { auto chunk_dir = absolute(get_chunks_dir(file_path)); const bfs::directory_iterator end; Loading Loading @@ -259,9 +259,9 @@ void ChunkStorage::trim_chunk_space(const string& file_path, gkfs::types::rpc_ch * @param length * @throws ChunkStorageException */ void ChunkStorage::truncate_chunk_file(const string& file_path, gkfs::types::rpc_chnk_id_t chunk_id, off_t length) { void ChunkStorage::truncate_chunk_file(const string& file_path, gkfs::rpc::chnk_id_t chunk_id, off_t length) { auto chunk_path = absolute(get_chunk_path(file_path, chunk_id)); assert(length > 0 && static_cast<gkfs::types::rpc_chnk_id_t>(length) <= chunksize_); assert(length > 0 && static_cast<gkfs::rpc::chnk_id_t>(length) <= chunksize_); int ret = truncate64(chunk_path.c_str(), length); if (ret == -1) { auto err_str = fmt::format("Failed to truncate chunk file. File: '{}', Error: '{}'", chunk_path, Loading
src/daemon/ops/data.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -162,7 +162,7 @@ int ChunkTruncateOperation::wait_for_tasks() { * Used by an argobots tasklet. Argument args has the following fields: * const string* path; const char* buf; const gkfs::types::rpc_chnk_id_t* chnk_id; const gkfs::rpc::chnk_id_t* chnk_id; size_t size; off64_t off; ABT_eventual* eventual; Loading Loading @@ -281,7 +281,7 @@ pair<int, size_t> ChunkWriteOperation::wait_for_tasks() { * Used by an argobots tasklet. Argument args has the following fields: * const string* path; char* buf; const gkfs::types::rpc_chnk_id_t* chnk_id; const gkfs::rpc::chnk_id_t* chnk_id; size_t size; off64_t off; ABT_eventual* eventual; Loading