Unverified Commit 8e60f2ae authored by Tommaso Tocci's avatar Tommaso Tocci
Browse files

Fix decrement_size RPC arguments

`decr_size` and `trunc_data` RPCs were using the same input parameters:

 - `uint64 fuid`
 - `string path`
 - `uint64 length`

`Decr_size` needs `path` but not `fuid` while for `trunc_data` is the
opposite.

Thus we need to use different struct type to store input parameters for
each of those RPCs.
parent 771867fc
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -41,6 +41,9 @@ MERCURY_GEN_PROC(rpc_rm_node_in_t,

MERCURY_GEN_PROC(rpc_trunc_in_t,
        ((hg_uint64_t) (fuid))\
        ((hg_uint64_t)       (length)))

MERCURY_GEN_PROC(rpc_decr_size_in_t,
        ((hg_const_string_t) (path))\
        ((hg_uint64_t) (length)))

+1 −1
Original line number Diff line number Diff line
@@ -52,7 +52,7 @@ void register_client_rpcs(margo_instance_id mid) {

    rpc_decr_size_id = MARGO_REGISTER(mid,
        hg_tag::decr_size,
        rpc_trunc_in_t,
        rpc_decr_size_in_t,
        rpc_err_out_t,
        NULL);

+1 −1
Original line number Diff line number Diff line
@@ -153,7 +153,7 @@ int stat(const std::string& path, string& attr) {

int decr_size(const std::string& path, size_t length) {
    hg_handle_t handle;
    rpc_trunc_in_t in{};
    rpc_decr_size_in_t in{};
    int err = 0;
    in.path = path.c_str();
    in.length = length;
+1 −1
Original line number Diff line number Diff line
@@ -229,7 +229,7 @@ void register_server_rpcs(margo_instance_id mid) {
    MARGO_REGISTER(mid, hg_tag::create, rpc_mk_node_in_t, rpc_fuid_out_t, rpc_srv_mk_node);
    MARGO_REGISTER(mid, hg_tag::forward, rpc_forward_node_in_t, rpc_err_out_t, rpc_srv_forward_node);
    MARGO_REGISTER(mid, hg_tag::stat, rpc_path_only_in_t, rpc_stat_out_t, rpc_srv_stat);
    MARGO_REGISTER(mid, hg_tag::decr_size, rpc_trunc_in_t, rpc_err_out_t, rpc_srv_decr_size);
    MARGO_REGISTER(mid, hg_tag::decr_size, rpc_decr_size_in_t, rpc_err_out_t, rpc_srv_decr_size);
    MARGO_REGISTER(mid, hg_tag::remove, rpc_rm_node_in_t, rpc_err_out_t, rpc_srv_rm_node);
    MARGO_REGISTER(mid, hg_tag::update_metadentry, rpc_update_metadentry_in_t, rpc_err_out_t,
                   rpc_srv_update_metadentry);
+1 −1
Original line number Diff line number Diff line
@@ -120,7 +120,7 @@ static hg_return_t rpc_srv_stat(hg_handle_t handle) {
DEFINE_MARGO_RPC_HANDLER(rpc_srv_stat)

static hg_return_t rpc_srv_decr_size(hg_handle_t handle) {
    rpc_trunc_in_t in{};
    rpc_decr_size_in_t in{};
    rpc_err_out_t out{};

    auto ret = margo_get_input(handle, &in);