Loading src/client/malleability.cpp +4 −3 Original line number Diff line number Diff line Loading @@ -35,9 +35,10 @@ namespace gkfs::malleable { int expand_start(int old_server_conf, int new_server_conf) { LOG(INFO, "{}() Expand operation started", __func__); return gkfs::malleable::rpc::forward_expand_start(old_server_conf, LOG(INFO, "{}() Expand operation enter", __func__); gkfs::malleable::rpc::forward_expand_start(old_server_conf, new_server_conf); return 0; } int Loading src/client/rpc/rpc_types.cpp +6 −0 Original line number Diff line number Diff line Loading @@ -60,6 +60,12 @@ hermes::detail::register_user_request_types(uint32_t provider_id) { (void) registered_requests().add<gkfs::rpc::chunk_stat>(provider_id); (void) registered_requests().add<gkfs::rpc::get_dirents_extended>( provider_id); (void) registered_requests().add<gkfs::malleable::rpc::expand_start>( provider_id); (void) registered_requests().add<gkfs::malleable::rpc::expand_status>( provider_id); (void) registered_requests().add<gkfs::malleable::rpc::expand_finalize>( provider_id); } else { (void) registered_requests().add<gkfs::rpc::write_data_proxy>( provider_id); Loading src/daemon/daemon.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -183,7 +183,7 @@ register_server_rpcs(margo_instance_id mid) { MARGO_REGISTER(mid, gkfs::malleable::rpc::tag::expand_status, void, rpc_err_out_t, rpc_srv_expand_status); MARGO_REGISTER(mid, gkfs::malleable::rpc::tag::expand_finalize, void, rpc_err_out_t, rpc_srv_expand_status); rpc_err_out_t, rpc_srv_expand_finalize); MARGO_REGISTER(mid, gkfs::malleable::rpc::tag::migrate_metadata, rpc_migrate_metadata_in_t, rpc_err_out_t, rpc_srv_migrate_metadata); Loading tools/CMakeLists.txt +10 −3 Original line number Diff line number Diff line ################################################################################ # Copyright 2018-2023, Barcelona Supercomputing Center (BSC), Spain # # Copyright 2015-2023, Johannes Gutenberg Universitaet Mainz, Germany # # Copyright 2018-2024, Barcelona Supercomputing Center (BSC), Spain # # Copyright 2015-2024, Johannes Gutenberg Universitaet Mainz, Germany # # # # This software was partially supported by the # # EC H2020 funded project NEXTGenIO (Project ID: 671951, www.nextgenio.eu). # Loading Loading @@ -36,3 +36,10 @@ if (GKFS_ENABLE_CLIENT_METRICS) target_link_libraries(gkfs_clientmetrics2json PUBLIC msgpack_util nlohmann_json::nlohmann_json) install(TARGETS gkfs_clientmetrics2json RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) endif () add_executable(gkfs_malleability malleability.cpp) target_link_libraries(gkfs_malleability PUBLIC gkfs_user_lib CLI11::CLI11) install(TARGETS gkfs_malleability RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) No newline at end of file tools/malleability.cpp 0 → 100644 +60 −0 Original line number Diff line number Diff line /* Copyright 2018-2024, Barcelona Supercomputing Center (BSC), Spain Copyright 2015-2024, Johannes Gutenberg Universitaet Mainz, Germany This software was partially supported by the EC H2020 funded project NEXTGenIO (Project ID: 671951, www.nextgenio.eu). This software was partially supported by the ADA-FS project under the SPPEXA project funded by the DFG. This file is part of GekkoFS. GekkoFS is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. GekkoFS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GekkoFS. If not, see <https://www.gnu.org/licenses/>. SPDX-License-Identifier: GPL-3.0-or-later */ #include <iostream> // #include <queue> #include <string> #include <CLI/CLI.hpp> #include <client/user_functions.hpp> using namespace std; struct cli_options { string hosts_file; }; int main(int argc, const char* argv[]) { CLI::App desc{"Allowed options"}; cli_options opts{}; auto res = gkfs_init(); cout << "Init result " << res << endl; res = gkfs::malleable::expand_start(1, 2); cout << "Expand start " << res << endl; res = gkfs::malleable::expand_status(); cout << "Expand status " << res << endl; res = gkfs::malleable::expand_finalize(); cout << "Expand finalize " << res << endl; res = gkfs_end(); cout << "End result " << res << endl; } No newline at end of file Loading
src/client/malleability.cpp +4 −3 Original line number Diff line number Diff line Loading @@ -35,9 +35,10 @@ namespace gkfs::malleable { int expand_start(int old_server_conf, int new_server_conf) { LOG(INFO, "{}() Expand operation started", __func__); return gkfs::malleable::rpc::forward_expand_start(old_server_conf, LOG(INFO, "{}() Expand operation enter", __func__); gkfs::malleable::rpc::forward_expand_start(old_server_conf, new_server_conf); return 0; } int Loading
src/client/rpc/rpc_types.cpp +6 −0 Original line number Diff line number Diff line Loading @@ -60,6 +60,12 @@ hermes::detail::register_user_request_types(uint32_t provider_id) { (void) registered_requests().add<gkfs::rpc::chunk_stat>(provider_id); (void) registered_requests().add<gkfs::rpc::get_dirents_extended>( provider_id); (void) registered_requests().add<gkfs::malleable::rpc::expand_start>( provider_id); (void) registered_requests().add<gkfs::malleable::rpc::expand_status>( provider_id); (void) registered_requests().add<gkfs::malleable::rpc::expand_finalize>( provider_id); } else { (void) registered_requests().add<gkfs::rpc::write_data_proxy>( provider_id); Loading
src/daemon/daemon.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -183,7 +183,7 @@ register_server_rpcs(margo_instance_id mid) { MARGO_REGISTER(mid, gkfs::malleable::rpc::tag::expand_status, void, rpc_err_out_t, rpc_srv_expand_status); MARGO_REGISTER(mid, gkfs::malleable::rpc::tag::expand_finalize, void, rpc_err_out_t, rpc_srv_expand_status); rpc_err_out_t, rpc_srv_expand_finalize); MARGO_REGISTER(mid, gkfs::malleable::rpc::tag::migrate_metadata, rpc_migrate_metadata_in_t, rpc_err_out_t, rpc_srv_migrate_metadata); Loading
tools/CMakeLists.txt +10 −3 Original line number Diff line number Diff line ################################################################################ # Copyright 2018-2023, Barcelona Supercomputing Center (BSC), Spain # # Copyright 2015-2023, Johannes Gutenberg Universitaet Mainz, Germany # # Copyright 2018-2024, Barcelona Supercomputing Center (BSC), Spain # # Copyright 2015-2024, Johannes Gutenberg Universitaet Mainz, Germany # # # # This software was partially supported by the # # EC H2020 funded project NEXTGenIO (Project ID: 671951, www.nextgenio.eu). # Loading Loading @@ -36,3 +36,10 @@ if (GKFS_ENABLE_CLIENT_METRICS) target_link_libraries(gkfs_clientmetrics2json PUBLIC msgpack_util nlohmann_json::nlohmann_json) install(TARGETS gkfs_clientmetrics2json RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) endif () add_executable(gkfs_malleability malleability.cpp) target_link_libraries(gkfs_malleability PUBLIC gkfs_user_lib CLI11::CLI11) install(TARGETS gkfs_malleability RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) No newline at end of file
tools/malleability.cpp 0 → 100644 +60 −0 Original line number Diff line number Diff line /* Copyright 2018-2024, Barcelona Supercomputing Center (BSC), Spain Copyright 2015-2024, Johannes Gutenberg Universitaet Mainz, Germany This software was partially supported by the EC H2020 funded project NEXTGenIO (Project ID: 671951, www.nextgenio.eu). This software was partially supported by the ADA-FS project under the SPPEXA project funded by the DFG. This file is part of GekkoFS. GekkoFS is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. GekkoFS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GekkoFS. If not, see <https://www.gnu.org/licenses/>. SPDX-License-Identifier: GPL-3.0-or-later */ #include <iostream> // #include <queue> #include <string> #include <CLI/CLI.hpp> #include <client/user_functions.hpp> using namespace std; struct cli_options { string hosts_file; }; int main(int argc, const char* argv[]) { CLI::App desc{"Allowed options"}; cli_options opts{}; auto res = gkfs_init(); cout << "Init result " << res << endl; res = gkfs::malleable::expand_start(1, 2); cout << "Expand start " << res << endl; res = gkfs::malleable::expand_status(); cout << "Expand status " << res << endl; res = gkfs::malleable::expand_finalize(); cout << "Expand finalize " << res << endl; res = gkfs_end(); cout << "End result " << res << endl; } No newline at end of file