Loading src/client/rpc/forward_metadata.cpp +7 −1 Changes for src/client/rpc/forward_metadata.cpp: 7 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -293,9 +293,15 @@ replicated_forward_stat(const std::string& path, string& attr, in.include_inline = include_inline; try { auto out = gkfs::rpc::forward_call<gkfs::rpc::rpc_stat_out_t>( gkfs::rpc::rpc_stat_out_t out; if(CTX->get_replicas() > 0 && CTX->rpc_timeout().count() == 0) { auto stat_rpc = CTX->rpc_engine()->define(gkfs::rpc::tag::stat); out = stat_rpc.on(endp).timed(std::chrono::milliseconds(100), in); } else { out = gkfs::rpc::forward_call<gkfs::rpc::rpc_stat_out_t>( CTX->rpc_engine(), endp, gkfs::rpc::tag::stat, in, __func__, path); } if(out.err == 0) { CTX->mark_host_success(target.host); Loading src/client/rpc/metadata_forwarder.cpp +12 −8 Changes for src/client/rpc/metadata_forwarder.cpp: 12 added lines, 8 removed lines. Original line number Diff line number Diff line Loading @@ -6,7 +6,8 @@ namespace gkfs::rpc { int forward_create(const std::string& p, mode_t m, int c) { return CTX->get_replicas() == 0 ? primary_forward_create(p, m, c) return CTX->get_replicas() == 0 && c == 0 ? primary_forward_create(p, m, c) : replicated_forward_create(p, m, c); } Loading @@ -20,7 +21,7 @@ forward_batch_create(uint64_t h, const std::vector<std::string>& p, int forward_create_write_inline(const std::string& p, mode_t m, const std::string& d, uint64_t c, int copy) { return CTX->get_replicas() == 0 return CTX->get_replicas() == 0 && copy == 0 ? primary_forward_create_write_inline(p, m, d, c, copy) : replicated_forward_create_write_inline(p, m, d, c, copy); } Loading @@ -28,7 +29,8 @@ forward_create_write_inline(const std::string& p, mode_t m, int forward_stat(const std::string& p, std::string& a, std::string& i, int c, bool in) { return CTX->get_replicas() == 0 ? primary_forward_stat(p, a, i, c, in) return CTX->get_replicas() == 0 && c == 0 ? primary_forward_stat(p, a, i, c, in) : replicated_forward_stat(p, a, i, c, in); } Loading @@ -41,21 +43,23 @@ forward_rename(const std::string& o, const std::string& n, int forward_remove(const std::string& p, bool d, int8_t c, int64_t s) { return CTX->get_replicas() == 0 ? primary_forward_remove(p, d, c, s) return CTX->get_replicas() == 0 && c == 0 ? primary_forward_remove(p, d, c, s) : replicated_forward_remove(p, d, c, s); } int forward_remove(const std::string& p, bool d, int8_t c, int64_t& s, uint32_t& m, std::string& t, bool r) { return CTX->get_replicas() == 0 return CTX->get_replicas() == 0 && c == 0 ? primary_forward_remove(p, d, c, s, m, t, r) : replicated_forward_remove(p, d, c, s, m, t, r); } int forward_decr_size(const std::string& p, size_t l, int c) { return CTX->get_replicas() == 0 ? primary_forward_decr_size(p, l, c) return CTX->get_replicas() == 0 && c == 0 ? primary_forward_decr_size(p, l, c) : replicated_forward_decr_size(p, l, c); } Loading @@ -64,7 +68,7 @@ forward_update_metadentry(const std::string& p, const gkfs::metadata::Metadata& m, const gkfs::metadata::MetadentryUpdateFlags& f, int c) { return CTX->get_replicas() == 0 return CTX->get_replicas() == 0 && c == 0 ? primary_forward_update_metadentry(p, m, f, c) : replicated_forward_update_metadentry(p, m, f, c); } Loading Loading @@ -98,7 +102,7 @@ forward_read_inline(const std::string& p, void* b, off64_t o, size_t s, int c) { std::pair<int, off64_t> forward_get_metadentry_size(const std::string& p, int c) { return CTX->get_replicas() == 0 return CTX->get_replicas() == 0 && c == 0 ? primary_forward_get_metadentry_size(p, c) : replicated_forward_get_metadentry_size(p, c); } Loading Loading
src/client/rpc/forward_metadata.cpp +7 −1 Changes for src/client/rpc/forward_metadata.cpp: 7 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -293,9 +293,15 @@ replicated_forward_stat(const std::string& path, string& attr, in.include_inline = include_inline; try { auto out = gkfs::rpc::forward_call<gkfs::rpc::rpc_stat_out_t>( gkfs::rpc::rpc_stat_out_t out; if(CTX->get_replicas() > 0 && CTX->rpc_timeout().count() == 0) { auto stat_rpc = CTX->rpc_engine()->define(gkfs::rpc::tag::stat); out = stat_rpc.on(endp).timed(std::chrono::milliseconds(100), in); } else { out = gkfs::rpc::forward_call<gkfs::rpc::rpc_stat_out_t>( CTX->rpc_engine(), endp, gkfs::rpc::tag::stat, in, __func__, path); } if(out.err == 0) { CTX->mark_host_success(target.host); Loading
src/client/rpc/metadata_forwarder.cpp +12 −8 Changes for src/client/rpc/metadata_forwarder.cpp: 12 added lines, 8 removed lines. Original line number Diff line number Diff line Loading @@ -6,7 +6,8 @@ namespace gkfs::rpc { int forward_create(const std::string& p, mode_t m, int c) { return CTX->get_replicas() == 0 ? primary_forward_create(p, m, c) return CTX->get_replicas() == 0 && c == 0 ? primary_forward_create(p, m, c) : replicated_forward_create(p, m, c); } Loading @@ -20,7 +21,7 @@ forward_batch_create(uint64_t h, const std::vector<std::string>& p, int forward_create_write_inline(const std::string& p, mode_t m, const std::string& d, uint64_t c, int copy) { return CTX->get_replicas() == 0 return CTX->get_replicas() == 0 && copy == 0 ? primary_forward_create_write_inline(p, m, d, c, copy) : replicated_forward_create_write_inline(p, m, d, c, copy); } Loading @@ -28,7 +29,8 @@ forward_create_write_inline(const std::string& p, mode_t m, int forward_stat(const std::string& p, std::string& a, std::string& i, int c, bool in) { return CTX->get_replicas() == 0 ? primary_forward_stat(p, a, i, c, in) return CTX->get_replicas() == 0 && c == 0 ? primary_forward_stat(p, a, i, c, in) : replicated_forward_stat(p, a, i, c, in); } Loading @@ -41,21 +43,23 @@ forward_rename(const std::string& o, const std::string& n, int forward_remove(const std::string& p, bool d, int8_t c, int64_t s) { return CTX->get_replicas() == 0 ? primary_forward_remove(p, d, c, s) return CTX->get_replicas() == 0 && c == 0 ? primary_forward_remove(p, d, c, s) : replicated_forward_remove(p, d, c, s); } int forward_remove(const std::string& p, bool d, int8_t c, int64_t& s, uint32_t& m, std::string& t, bool r) { return CTX->get_replicas() == 0 return CTX->get_replicas() == 0 && c == 0 ? primary_forward_remove(p, d, c, s, m, t, r) : replicated_forward_remove(p, d, c, s, m, t, r); } int forward_decr_size(const std::string& p, size_t l, int c) { return CTX->get_replicas() == 0 ? primary_forward_decr_size(p, l, c) return CTX->get_replicas() == 0 && c == 0 ? primary_forward_decr_size(p, l, c) : replicated_forward_decr_size(p, l, c); } Loading @@ -64,7 +68,7 @@ forward_update_metadentry(const std::string& p, const gkfs::metadata::Metadata& m, const gkfs::metadata::MetadentryUpdateFlags& f, int c) { return CTX->get_replicas() == 0 return CTX->get_replicas() == 0 && c == 0 ? primary_forward_update_metadentry(p, m, f, c) : replicated_forward_update_metadentry(p, m, f, c); } Loading Loading @@ -98,7 +102,7 @@ forward_read_inline(const std::string& p, void* b, off64_t o, size_t s, int c) { std::pair<int, off64_t> forward_get_metadentry_size(const std::string& p, int c) { return CTX->get_replicas() == 0 return CTX->get_replicas() == 0 && c == 0 ? primary_forward_get_metadentry_size(p, c) : replicated_forward_get_metadentry_size(p, c); } Loading