Loading examples/c/ADM_update_pfs_storage.c +1 −1 Viewed Changes for examples/c/ADM_update_pfs_storage.c: 1 added line, 1 removed line. Original line number Diff line number Diff line Loading @@ -89,7 +89,7 @@ main(int argc, char* argv[]) { } // We can now request the update to the server if((ret = ADM_update_pfs_storage(server, new_pfs_ctx, pfs_storage)) != if((ret = ADM_update_pfs_storage(server, pfs_storage, new_pfs_ctx)) != ADM_SUCCESS) { fprintf(stderr, "ADM_update_pfs_storage() failed: %s\n", ADM_strerror(ret)); Loading examples/cxx/ADM_update_pfs_storage.cpp +13 −12 Viewed Changes for examples/cxx/ADM_update_pfs_storage.cpp: 13 added lines, 12 removed lines. Original line number Diff line number Diff line Loading @@ -37,25 +37,26 @@ main(int argc, char* argv[]) { admire::server server{"tcp", argv[1]}; ADM_pfs_context_t ctx{}; ADM_pfs_storage_t pfs_storage{}; ADM_return_t ret = ADM_SUCCESS; std::string pfs_name = "gpfs_scratch"; std::string pfs_mount = "/gpfs/scratch"; std::string new_pfs_mount = "/gpfs/scratch2"; try { ret = admire::update_pfs_storage(server, ctx, pfs_storage); const auto pfs_storage = admire::register_pfs_storage( server, pfs_name, admire::pfs_storage::type::gpfs, admire::pfs_storage::ctx{pfs_mount}); admire::update_pfs_storage(server, pfs_storage, admire::pfs_storage::ctx{new_pfs_mount}); } catch(const std::exception& e) { fmt::print(stderr, "FATAL: ADM_update_pfs_storage() failed: {}\n", fmt::print(stderr, "FATAL: ADM_update_pfs_storage() or " "ADM_update_pfs_storage() failed: {}\n", e.what()); exit(EXIT_FAILURE); } if(ret != ADM_SUCCESS) { fmt::print(stdout, "ADM_update_pfs_storage() remote procedure not completed " "successfully\n"); exit(EXIT_FAILURE); } fmt::print(stdout, "ADM_update_pfs_storage() remote procedure completed " "successfully\n"); } src/common/net/proto/rpc_types.h +10 −2 Viewed Changes for src/common/net/proto/rpc_types.h: 10 added lines, 2 removed lines. Original line number Diff line number Diff line Loading @@ -403,9 +403,17 @@ MERCURY_GEN_PROC( ); /// ADM_update_pfs_storage MERCURY_GEN_PROC(ADM_update_pfs_storage_in_t, ((int32_t) (reqs))) MERCURY_GEN_PROC( ADM_update_pfs_storage_in_t, ((ADM_pfs_context_t) (pfs_storage_ctx)) ((hg_uint64_t) (server_id)) ); MERCURY_GEN_PROC(ADM_update_pfs_storage_out_t, ((int32_t) (ret))) MERCURY_GEN_PROC( ADM_update_pfs_storage_out_t, ((hg_uint64_t) (op_id)) ((hg_int32_t) (retval)) ); /// ADM_remove_pfs_storage MERCURY_GEN_PROC(ADM_remove_pfs_storage_in_t, ((int32_t) (reqs))) Loading src/lib/detail/impl.cpp +38 −0 Viewed Changes for src/lib/detail/impl.cpp: 38 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -556,4 +556,42 @@ register_pfs_storage(const server& srv, const std::string& name, return rpc_pfs_storage; } admire::error_code update_pfs_storage(const server& srv, const pfs_storage& pfs_storage, const admire::pfs_storage::ctx& pfs_storage_ctx) { scord::network::rpc_client rpc_client{srv.protocol(), rpc_registration_cb}; const auto rpc_id = ::api::remote_procedure::new_id(); auto endp = rpc_client.lookup(srv.address()); LOGGER_INFO("rpc id: {} name: {} from: {} => " "body: {{pfs_storage_id: {}}}", rpc_id, std::quoted("ADM_"s + __FUNCTION__), std::quoted(rpc_client.self_address()), pfs_storage.id()); const auto rpc_ctx = api::convert(pfs_storage_ctx); ADM_update_pfs_storage_in_t in{rpc_ctx.get(), pfs_storage.id()}; ADM_update_pfs_storage_out_t out; const auto rpc = endp.call("ADM_update_pfs_storage", &in, &out); if(const auto rv = admire::error_code{out.retval}; !rv) { LOGGER_ERROR("rpc id: {} name: {} from: {} <= " "body: {{retval: {}}} [op_id: {}]", rpc_id, std::quoted("ADM_"s + __FUNCTION__), std::quoted(rpc.origin()), rv, out.op_id); return rv; } LOGGER_INFO("rpc id: {} name: {} from: {} <= " "body: {{retval: {}}} [op_id: {}]", rpc_id, std::quoted("ADM_"s + __FUNCTION__), std::quoted(rpc.origin()), admire::error_code::success, out.op_id); return admire::error_code::success; } } // namespace admire::detail src/lib/detail/impl.hpp +5 −2 Viewed Changes for src/lib/detail/impl.hpp: 5 added lines, 2 removed lines. Original line number Diff line number Diff line Loading @@ -66,13 +66,16 @@ admire::error_code remove_adhoc_storage(const server& srv, const adhoc_storage& adhoc_storage); admire::error_code deploy_adhoc_storage(const server& srv, const adhoc_storage& adhoc_storage); deploy_adhoc_storage(const server& srv, const adhoc_storage& adhoc_storage); tl::expected<admire::pfs_storage, admire::error_code> register_pfs_storage(const server& srv, const std::string& name, enum pfs_storage::type type, const pfs_storage::ctx& ctx); admire::error_code update_pfs_storage(const server& srv, const pfs_storage& pfs_storage, const admire::pfs_storage::ctx& pfs_storage_ctx); } // namespace admire::detail #endif // SCORD_ADMIRE_IMPL_HPP Loading
examples/c/ADM_update_pfs_storage.c +1 −1 Viewed Changes for examples/c/ADM_update_pfs_storage.c: 1 added line, 1 removed line. Original line number Diff line number Diff line Loading @@ -89,7 +89,7 @@ main(int argc, char* argv[]) { } // We can now request the update to the server if((ret = ADM_update_pfs_storage(server, new_pfs_ctx, pfs_storage)) != if((ret = ADM_update_pfs_storage(server, pfs_storage, new_pfs_ctx)) != ADM_SUCCESS) { fprintf(stderr, "ADM_update_pfs_storage() failed: %s\n", ADM_strerror(ret)); Loading
examples/cxx/ADM_update_pfs_storage.cpp +13 −12 Viewed Changes for examples/cxx/ADM_update_pfs_storage.cpp: 13 added lines, 12 removed lines. Original line number Diff line number Diff line Loading @@ -37,25 +37,26 @@ main(int argc, char* argv[]) { admire::server server{"tcp", argv[1]}; ADM_pfs_context_t ctx{}; ADM_pfs_storage_t pfs_storage{}; ADM_return_t ret = ADM_SUCCESS; std::string pfs_name = "gpfs_scratch"; std::string pfs_mount = "/gpfs/scratch"; std::string new_pfs_mount = "/gpfs/scratch2"; try { ret = admire::update_pfs_storage(server, ctx, pfs_storage); const auto pfs_storage = admire::register_pfs_storage( server, pfs_name, admire::pfs_storage::type::gpfs, admire::pfs_storage::ctx{pfs_mount}); admire::update_pfs_storage(server, pfs_storage, admire::pfs_storage::ctx{new_pfs_mount}); } catch(const std::exception& e) { fmt::print(stderr, "FATAL: ADM_update_pfs_storage() failed: {}\n", fmt::print(stderr, "FATAL: ADM_update_pfs_storage() or " "ADM_update_pfs_storage() failed: {}\n", e.what()); exit(EXIT_FAILURE); } if(ret != ADM_SUCCESS) { fmt::print(stdout, "ADM_update_pfs_storage() remote procedure not completed " "successfully\n"); exit(EXIT_FAILURE); } fmt::print(stdout, "ADM_update_pfs_storage() remote procedure completed " "successfully\n"); }
src/common/net/proto/rpc_types.h +10 −2 Viewed Changes for src/common/net/proto/rpc_types.h: 10 added lines, 2 removed lines. Original line number Diff line number Diff line Loading @@ -403,9 +403,17 @@ MERCURY_GEN_PROC( ); /// ADM_update_pfs_storage MERCURY_GEN_PROC(ADM_update_pfs_storage_in_t, ((int32_t) (reqs))) MERCURY_GEN_PROC( ADM_update_pfs_storage_in_t, ((ADM_pfs_context_t) (pfs_storage_ctx)) ((hg_uint64_t) (server_id)) ); MERCURY_GEN_PROC(ADM_update_pfs_storage_out_t, ((int32_t) (ret))) MERCURY_GEN_PROC( ADM_update_pfs_storage_out_t, ((hg_uint64_t) (op_id)) ((hg_int32_t) (retval)) ); /// ADM_remove_pfs_storage MERCURY_GEN_PROC(ADM_remove_pfs_storage_in_t, ((int32_t) (reqs))) Loading
src/lib/detail/impl.cpp +38 −0 Viewed Changes for src/lib/detail/impl.cpp: 38 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -556,4 +556,42 @@ register_pfs_storage(const server& srv, const std::string& name, return rpc_pfs_storage; } admire::error_code update_pfs_storage(const server& srv, const pfs_storage& pfs_storage, const admire::pfs_storage::ctx& pfs_storage_ctx) { scord::network::rpc_client rpc_client{srv.protocol(), rpc_registration_cb}; const auto rpc_id = ::api::remote_procedure::new_id(); auto endp = rpc_client.lookup(srv.address()); LOGGER_INFO("rpc id: {} name: {} from: {} => " "body: {{pfs_storage_id: {}}}", rpc_id, std::quoted("ADM_"s + __FUNCTION__), std::quoted(rpc_client.self_address()), pfs_storage.id()); const auto rpc_ctx = api::convert(pfs_storage_ctx); ADM_update_pfs_storage_in_t in{rpc_ctx.get(), pfs_storage.id()}; ADM_update_pfs_storage_out_t out; const auto rpc = endp.call("ADM_update_pfs_storage", &in, &out); if(const auto rv = admire::error_code{out.retval}; !rv) { LOGGER_ERROR("rpc id: {} name: {} from: {} <= " "body: {{retval: {}}} [op_id: {}]", rpc_id, std::quoted("ADM_"s + __FUNCTION__), std::quoted(rpc.origin()), rv, out.op_id); return rv; } LOGGER_INFO("rpc id: {} name: {} from: {} <= " "body: {{retval: {}}} [op_id: {}]", rpc_id, std::quoted("ADM_"s + __FUNCTION__), std::quoted(rpc.origin()), admire::error_code::success, out.op_id); return admire::error_code::success; } } // namespace admire::detail
src/lib/detail/impl.hpp +5 −2 Viewed Changes for src/lib/detail/impl.hpp: 5 added lines, 2 removed lines. Original line number Diff line number Diff line Loading @@ -66,13 +66,16 @@ admire::error_code remove_adhoc_storage(const server& srv, const adhoc_storage& adhoc_storage); admire::error_code deploy_adhoc_storage(const server& srv, const adhoc_storage& adhoc_storage); deploy_adhoc_storage(const server& srv, const adhoc_storage& adhoc_storage); tl::expected<admire::pfs_storage, admire::error_code> register_pfs_storage(const server& srv, const std::string& name, enum pfs_storage::type type, const pfs_storage::ctx& ctx); admire::error_code update_pfs_storage(const server& srv, const pfs_storage& pfs_storage, const admire::pfs_storage::ctx& pfs_storage_ctx); } // namespace admire::detail #endif // SCORD_ADMIRE_IMPL_HPP