From 3bbc7cbf2baeb9ff3b368f5bdb823ba5206d6c41 Mon Sep 17 00:00:00 2001 From: Jinshan Xiong Date: Thu, 21 Nov 2024 20:40:01 +0000 Subject: [PATCH 1/7] lower error messages to warn level Change-Id: I71966a235c068abbd3c74c422458a68e3a86154a --- src/cart/crt_context.c | 53 ++++++++--------------------------------- src/cart/crt_hg.c | 10 ++++---- src/cart/crt_hg_proc.c | 11 +++------ src/cart/crt_register.c | 4 ++-- src/cart/crt_rpc.c | 8 +++---- 5 files changed, 24 insertions(+), 62 deletions(-) diff --git a/src/cart/crt_context.c b/src/cart/crt_context.c index 2927ce75150..813260f02f6 100644 --- a/src/cart/crt_context.c +++ b/src/cart/crt_context.c @@ -534,8 +534,8 @@ crt_rpc_complete_and_unlock(struct crt_rpc_priv *rpc_priv, int rc) cbinfo.cci_rc = rpc_priv->crp_reply_hdr.cch_rc; if (cbinfo.cci_rc != 0) - RPC_CERROR(crt_quiet_error(cbinfo.cci_rc), DB_NET, rpc_priv, - "failed, " DF_RC "\n", DP_RC(cbinfo.cci_rc)); + RPC_WARN(rpc_priv, + "failed, " DF_RC "\n", DP_RC(cbinfo.cci_rc)); RPC_TRACE(DB_TRACE, rpc_priv, "Invoking RPC callback (rank %d tag %d) rc: " @@ -1227,8 +1227,6 @@ crt_context_timeout_check(struct crt_context *crt_ctx) struct d_binheap_node *bh_node; d_list_t timeout_list; uint64_t ts_now; - int err_to_print = 0; - int left_to_print = 0; D_ASSERT(crt_ctx != NULL); @@ -1256,48 +1254,17 @@ crt_context_timeout_check(struct crt_context *crt_ctx) }; D_MUTEX_UNLOCK(&crt_ctx->cc_mutex); - /* Limit logging when many rpcs time-out at the same time */ - d_list_for_each_entry(rpc_priv, &timeout_list, crp_tmp_link_timeout) { - left_to_print++; - } - - /* TODO: might expose via env in future */ - err_to_print = 1; - /* handle the timeout RPCs */ while ((rpc_priv = d_list_pop_entry(&timeout_list, struct crt_rpc_priv, crp_tmp_link_timeout))) { - /* - * This error is annoying and fills the logs. For now prevent bursts of timeouts - * happening at the same time. - * - * Ideally we would also limit to 1 error per target. Can keep track of it in per - * target cache used for hg_addrs. - * - * Extra lookup cost of cache entry would be ok as this is an error case - **/ - - if (err_to_print > 0) { - RPC_ERROR(rpc_priv, - "ctx_id %d, (status: %#x) timed out (%d seconds), " - "target (%d:%d)\n", - crt_ctx->cc_idx, rpc_priv->crp_state, rpc_priv->crp_timeout_sec, - rpc_priv->crp_pub.cr_ep.ep_rank, rpc_priv->crp_pub.cr_ep.ep_tag); - err_to_print--; - left_to_print--; - - if (err_to_print == 0 && left_to_print > 0) - D_ERROR(" %d more rpcs timed out. rest logged at INFO level\n", - left_to_print); - - } else { - RPC_INFO(rpc_priv, - "ctx_id %d, (status: %#x) timed out (%d seconds), " - "target (%d:%d)\n", - crt_ctx->cc_idx, rpc_priv->crp_state, rpc_priv->crp_timeout_sec, - rpc_priv->crp_pub.cr_ep.ep_rank, rpc_priv->crp_pub.cr_ep.ep_tag); - left_to_print--; - } + /* NB: The reason that the error message is printed at INFO + * level is because the user should know how serious the error + * is and they will print the RPC error at appropriate level */ + RPC_INFO(rpc_priv, + "ctx_id %d, (status: %#x) timed out (%d seconds), " + "target (%d:%d)\n", + crt_ctx->cc_idx, rpc_priv->crp_state, rpc_priv->crp_timeout_sec, + rpc_priv->crp_pub.cr_ep.ep_rank, rpc_priv->crp_pub.cr_ep.ep_tag); crt_req_timeout_hdlr(rpc_priv); RPC_DECREF(rpc_priv); diff --git a/src/cart/crt_hg.c b/src/cart/crt_hg.c index 59311cf691b..d3edd7adb87 100644 --- a/src/cart/crt_hg.c +++ b/src/cart/crt_hg.c @@ -1154,9 +1154,9 @@ crt_rpc_handler_common(hg_handle_t hg_hdl) else rc = crt_corpc_common_hdlr(rpc_priv); if (unlikely(rc != 0)) { - RPC_ERROR(rpc_priv, - "failed to invoke RPC handler, rc: "DF_RC"\n", - DP_RC(rc)); + RPC_WARN(rpc_priv, + "failed to invoke RPC handler, rc: "DF_RC"\n", + DP_RC(rc)); crt_hg_reply_error_send(rpc_priv, rc); D_GOTO(decref, hg_ret = HG_SUCCESS); } @@ -1364,8 +1364,8 @@ crt_hg_req_send_cb(const struct hg_cb_info *hg_cbinfo) crt_cbinfo.cci_rc = rc; if (crt_cbinfo.cci_rc != 0) - RPC_CERROR(crt_quiet_error(crt_cbinfo.cci_rc), DB_NET, rpc_priv, - "RPC failed; rc: " DF_RC "\n", DP_RC(crt_cbinfo.cci_rc)); + RPC_WARN(rpc_priv, + "RPC failed; rc: " DF_RC "\n", DP_RC(crt_cbinfo.cci_rc)); RPC_TRACE(DB_TRACE, rpc_priv, "Invoking RPC callback (rank %d tag %d) rc: " DF_RC "\n", diff --git a/src/cart/crt_hg_proc.c b/src/cart/crt_hg_proc.c index 47d003ee822..d5d8f3dd473 100644 --- a/src/cart/crt_hg_proc.c +++ b/src/cart/crt_hg_proc.c @@ -712,14 +712,9 @@ crt_proc_out_common(crt_proc_t proc, crt_rpc_output_t *data) rc2 = rpc_priv->crp_reply_hdr.cch_rc; if (rc2 != 0) { - if (rpc_priv->crp_reply_hdr.cch_rc != -DER_GRPVER) - RPC_ERROR(rpc_priv, - "RPC failed to execute on target. " - "error code: "DF_RC"\n", DP_RC(rc2)); - else - RPC_TRACE(DB_NET, rpc_priv, - "RPC failed to execute on target. " - "error code: "DF_RC"\n", DP_RC(rc2)); + RPC_WARN(rpc_priv, + "RPC failed to execute on target. " + "error code: "DF_RC"\n", DP_RC(rc2)); D_GOTO(out, rc); } diff --git a/src/cart/crt_register.c b/src/cart/crt_register.c index 0a90bacfed1..c287f63c6ee 100644 --- a/src/cart/crt_register.c +++ b/src/cart/crt_register.c @@ -546,8 +546,8 @@ proto_query_cb(const struct crt_cb_info *cb_info) D_FREE(rpc_req_input->pq_ver.iov_buf); if (cb_info->cci_rc != 0) { - D_ERROR("rpc (opc: %#x) failed: "DF_RC"\n", rpc_req->cr_opc, - DP_RC(cb_info->cci_rc)); + D_WARN("rpc (opc: %#x) failed: "DF_RC"\n", rpc_req->cr_opc, + DP_RC(cb_info->cci_rc)); D_GOTO(out, user_cb_info.pq_rc = cb_info->cci_rc); } diff --git a/src/cart/crt_rpc.c b/src/cart/crt_rpc.c index 2a7db9a90ad..781f02d8a11 100644 --- a/src/cart/crt_rpc.c +++ b/src/cart/crt_rpc.c @@ -887,8 +887,8 @@ uri_lookup_cb(const struct crt_cb_info *cb_info) ul_out = crt_reply_get(lookup_rpc); if (ul_out->ul_rc != 0) { - RPC_ERROR(chained_rpc_priv, "URI_LOOKUP returned rc="DF_RC"\n", - DP_RC(ul_out->ul_rc)); + RPC_WARN(chained_rpc_priv, "URI_LOOKUP returned rc="DF_RC"\n", + DP_RC(ul_out->ul_rc)); D_GOTO(retry, rc = ul_out->ul_rc); } @@ -973,8 +973,8 @@ uri_lookup_cb(const struct crt_cb_info *cb_info) chained_rpc_priv); D_GOTO(out, rc); } else { - D_ERROR("URI lookups exceeded %d retries\n", - chained_rpc_priv->crp_ul_retry); + D_WARN("URI lookups exceeded %d retries\n", + chained_rpc_priv->crp_ul_retry); } } else { DL_INFO(rc, "URI_LOOKUP for (%d:%d) failed during PROTO_QUERY", From c8e2ac1296bd8ecf99c65c0d4aa4f40f2ac34ba4 Mon Sep 17 00:00:00 2001 From: Jinshan Xiong Date: Fri, 22 Nov 2024 01:44:40 +0000 Subject: [PATCH 2/7] fix per review Change-Id: I94190d2b4617a50cfbc8fad4f1a16f6973bedc1b --- src/cart/crt_context.c | 21 ++++++++++++++++----- src/cart/crt_hg.c | 4 ++-- src/cart/crt_hg_proc.c | 2 +- src/cart/crt_internal.h | 8 ++++++++ 4 files changed, 27 insertions(+), 8 deletions(-) diff --git a/src/cart/crt_context.c b/src/cart/crt_context.c index 813260f02f6..a74c65baf5e 100644 --- a/src/cart/crt_context.c +++ b/src/cart/crt_context.c @@ -1227,6 +1227,7 @@ crt_context_timeout_check(struct crt_context *crt_ctx) struct d_binheap_node *bh_node; d_list_t timeout_list; uint64_t ts_now; + bool print_once = false; D_ASSERT(crt_ctx != NULL); @@ -1260,11 +1261,21 @@ crt_context_timeout_check(struct crt_context *crt_ctx) /* NB: The reason that the error message is printed at INFO * level is because the user should know how serious the error * is and they will print the RPC error at appropriate level */ - RPC_INFO(rpc_priv, - "ctx_id %d, (status: %#x) timed out (%d seconds), " - "target (%d:%d)\n", - crt_ctx->cc_idx, rpc_priv->crp_state, rpc_priv->crp_timeout_sec, - rpc_priv->crp_pub.cr_ep.ep_rank, rpc_priv->crp_pub.cr_ep.ep_tag); + if (!print_once) { + print_once = true; + + RPC_WARN(rpc_priv, + "ctx_id %d, (status: %#x) timed out (%d seconds), " + "target (%d:%d)\n", + crt_ctx->cc_idx, rpc_priv->crp_state, rpc_priv->crp_timeout_sec, + rpc_priv->crp_pub.cr_ep.ep_rank, rpc_priv->crp_pub.cr_ep.ep_tag); + } else { + RPC_INFO(rpc_priv, + "ctx_id %d, (status: %#x) timed out (%d seconds), " + "target (%d:%d)\n", + crt_ctx->cc_idx, rpc_priv->crp_state, rpc_priv->crp_timeout_sec, + rpc_priv->crp_pub.cr_ep.ep_rank, rpc_priv->crp_pub.cr_ep.ep_tag); + } crt_req_timeout_hdlr(rpc_priv); RPC_DECREF(rpc_priv); diff --git a/src/cart/crt_hg.c b/src/cart/crt_hg.c index d3edd7adb87..5cbd68ea6cc 100644 --- a/src/cart/crt_hg.c +++ b/src/cart/crt_hg.c @@ -1154,7 +1154,7 @@ crt_rpc_handler_common(hg_handle_t hg_hdl) else rc = crt_corpc_common_hdlr(rpc_priv); if (unlikely(rc != 0)) { - RPC_WARN(rpc_priv, + RPC_INFO(rpc_priv, "failed to invoke RPC handler, rc: "DF_RC"\n", DP_RC(rc)); crt_hg_reply_error_send(rpc_priv, rc); @@ -1364,7 +1364,7 @@ crt_hg_req_send_cb(const struct hg_cb_info *hg_cbinfo) crt_cbinfo.cci_rc = rc; if (crt_cbinfo.cci_rc != 0) - RPC_WARN(rpc_priv, + RPC_CWARN(crt_quiet_error(crt_cbinfo.cci_rc), DB_NET, rpc_priv, "RPC failed; rc: " DF_RC "\n", DP_RC(crt_cbinfo.cci_rc)); RPC_TRACE(DB_TRACE, rpc_priv, diff --git a/src/cart/crt_hg_proc.c b/src/cart/crt_hg_proc.c index d5d8f3dd473..6def265d637 100644 --- a/src/cart/crt_hg_proc.c +++ b/src/cart/crt_hg_proc.c @@ -712,7 +712,7 @@ crt_proc_out_common(crt_proc_t proc, crt_rpc_output_t *data) rc2 = rpc_priv->crp_reply_hdr.cch_rc; if (rc2 != 0) { - RPC_WARN(rpc_priv, + RPC_CWARN(crt_quiet_error(rc2), DB_NET, rpc_priv, "RPC failed to execute on target. " "error code: "DF_RC"\n", DP_RC(rc2)); diff --git a/src/cart/crt_internal.h b/src/cart/crt_internal.h index 58418d770cd..216409d0d53 100644 --- a/src/cart/crt_internal.h +++ b/src/cart/crt_internal.h @@ -92,6 +92,14 @@ RPC_ERROR(rpc, fmt, ## __VA_ARGS__); \ } while (0) +#define RPC_CWARN(cond, mask, rpc, fmt, ...) \ + do { \ + if (cond) \ + RPC_TRACE(mask, rpc, fmt, ## __VA_ARGS__); \ + else \ + RPC_WARN(rpc, fmt, ## __VA_ARGS__); \ + } while (0) + #ifdef CRT_DEBUG_TRACE # define CRT_ENTRY() \ D_DEBUG(DB_TRACE, ">>>> Entered %s: %d\n", __func__, __LINE__) From cdfa6367b1b59cb4b43b18d0566e285af346dacb Mon Sep 17 00:00:00 2001 From: Jinshan Xiong Date: Fri, 22 Nov 2024 18:06:55 +0000 Subject: [PATCH 3/7] missed one --- src/cart/crt_context.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cart/crt_context.c b/src/cart/crt_context.c index a74c65baf5e..7e32613cced 100644 --- a/src/cart/crt_context.c +++ b/src/cart/crt_context.c @@ -534,7 +534,7 @@ crt_rpc_complete_and_unlock(struct crt_rpc_priv *rpc_priv, int rc) cbinfo.cci_rc = rpc_priv->crp_reply_hdr.cch_rc; if (cbinfo.cci_rc != 0) - RPC_WARN(rpc_priv, + RPC_CWARN(crt_quiet_error(cbinfo.cci_rc), DB_NET, rpc_priv, "failed, " DF_RC "\n", DP_RC(cbinfo.cci_rc)); RPC_TRACE(DB_TRACE, rpc_priv, From e73c6ac982f8dd7385eec8b7b29f10a68daccc82 Mon Sep 17 00:00:00 2001 From: Jinshan Xiong Date: Tue, 26 Nov 2024 06:19:19 +0000 Subject: [PATCH 4/7] increase the bufsize for simple_dfs Change-Id: I05409a9ab6187566de9e201bdaeac5ea02079136 --- src/tests/simple_dfs.c | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/src/tests/simple_dfs.c b/src/tests/simple_dfs.c index 6e5a73e110f..4fbceeed79c 100644 --- a/src/tests/simple_dfs.c +++ b/src/tests/simple_dfs.c @@ -48,8 +48,16 @@ main(int argc, char **argv) rc = dfs_init(); ASSERT(rc == 0, "dfs_init failed with %d", rc); + daos_prop_t *props = daos_prop_alloc(2); + props->dpp_entries[0].dpe_type = DAOS_PROP_CO_REDUN_FAC; + props->dpp_entries[0].dpe_val = DAOS_PROP_CO_REDUN_RF1; + props->dpp_entries[1].dpe_type = DAOS_PROP_CO_REDUN_LVL; + props->dpp_entries[1].dpe_val = DAOS_PROP_CO_REDUN_RANK; + + dfs_attr_t attr = { .da_props = props }; + /** this creates and mounts the POSIX container */ - rc = dfs_connect(argv[1], NULL, argv[2], O_CREAT | O_RDWR, NULL, &dfs); + rc = dfs_connect(argv[1], NULL, argv[2], O_CREAT | O_RDWR, &attr, &dfs); ASSERT(rc == 0, "dfs_connect failed with %d", rc); mode_t create_mode = S_IWUSR | S_IRUSR; @@ -69,25 +77,31 @@ main(int argc, char **argv) /** write a "hello world!" string to the file at offset 0 */ - char *wbuf = "hello world!"; + const size_t sz = 10485760; + char *wbuf = malloc(sz); d_sg_list_t sgl; d_iov_t iov; + for (size_t i = 0; i < sz; i++) { + wbuf[i] = 'A' + i % 26; + } + /** setup iovec (sgl in DAOS terms) for write buffer */ - d_iov_set(&iov, wbuf, strlen(wbuf) + 1); + d_iov_set(&iov, wbuf, sz); sgl.sg_nr = 1; sgl.sg_iovs = &iov; rc = dfs_write(dfs, f1, &sgl, 0 /** offset */, NULL); ASSERT(rc == 0, "dfs_write() failed\n"); - char rbuf[1024]; + const size_t rsz = 1048576; + char *rbuf = malloc(rsz); daos_size_t read_size; /** reset iovec for read buffer */ - d_iov_set(&iov, rbuf, sizeof(rbuf)); + d_iov_set(&iov, rbuf, rsz); rc = dfs_read(dfs, f1, &sgl, 0 /** offset */, &read_size, NULL); ASSERT(rc == 0, "dfs_read() failed\n"); - ASSERT(read_size == strlen(wbuf) + 1, "not enough data read\n"); + //ASSERT(read_size == rsz, "not enough data read\n"); printf("read back: %s\n", rbuf); /** close / finalize */ From b965d36afda54171cde25dedb826c55cc7419762 Mon Sep 17 00:00:00 2001 From: Jinshan Xiong Date: Tue, 26 Nov 2024 21:12:20 +0000 Subject: [PATCH 5/7] fix format issue --- src/cart/crt_context.c | 2 +- src/cart/crt_hg.c | 6 ++---- src/cart/crt_hg_proc.c | 5 +++-- src/cart/crt_internal.h | 12 ++++++------ src/cart/crt_register.c | 2 +- src/cart/crt_rpc.c | 2 +- 6 files changed, 14 insertions(+), 15 deletions(-) diff --git a/src/cart/crt_context.c b/src/cart/crt_context.c index 7e32613cced..3cafb8b39fe 100644 --- a/src/cart/crt_context.c +++ b/src/cart/crt_context.c @@ -535,7 +535,7 @@ crt_rpc_complete_and_unlock(struct crt_rpc_priv *rpc_priv, int rc) if (cbinfo.cci_rc != 0) RPC_CWARN(crt_quiet_error(cbinfo.cci_rc), DB_NET, rpc_priv, - "failed, " DF_RC "\n", DP_RC(cbinfo.cci_rc)); + "failed, " DF_RC "\n", DP_RC(cbinfo.cci_rc)); RPC_TRACE(DB_TRACE, rpc_priv, "Invoking RPC callback (rank %d tag %d) rc: " diff --git a/src/cart/crt_hg.c b/src/cart/crt_hg.c index 5cbd68ea6cc..8f2395a44ff 100644 --- a/src/cart/crt_hg.c +++ b/src/cart/crt_hg.c @@ -1154,9 +1154,7 @@ crt_rpc_handler_common(hg_handle_t hg_hdl) else rc = crt_corpc_common_hdlr(rpc_priv); if (unlikely(rc != 0)) { - RPC_INFO(rpc_priv, - "failed to invoke RPC handler, rc: "DF_RC"\n", - DP_RC(rc)); + RPC_INFO(rpc_priv, "failed to invoke RPC handler, rc: " DF_RC "\n", DP_RC(rc)); crt_hg_reply_error_send(rpc_priv, rc); D_GOTO(decref, hg_ret = HG_SUCCESS); } @@ -1365,7 +1363,7 @@ crt_hg_req_send_cb(const struct hg_cb_info *hg_cbinfo) if (crt_cbinfo.cci_rc != 0) RPC_CWARN(crt_quiet_error(crt_cbinfo.cci_rc), DB_NET, rpc_priv, - "RPC failed; rc: " DF_RC "\n", DP_RC(crt_cbinfo.cci_rc)); + "RPC failed; rc: " DF_RC "\n", DP_RC(crt_cbinfo.cci_rc)); RPC_TRACE(DB_TRACE, rpc_priv, "Invoking RPC callback (rank %d tag %d) rc: " DF_RC "\n", diff --git a/src/cart/crt_hg_proc.c b/src/cart/crt_hg_proc.c index 6def265d637..fa6df8b7397 100644 --- a/src/cart/crt_hg_proc.c +++ b/src/cart/crt_hg_proc.c @@ -713,8 +713,9 @@ crt_proc_out_common(crt_proc_t proc, crt_rpc_output_t *data) rc2 = rpc_priv->crp_reply_hdr.cch_rc; if (rc2 != 0) { RPC_CWARN(crt_quiet_error(rc2), DB_NET, rpc_priv, - "RPC failed to execute on target. " - "error code: "DF_RC"\n", DP_RC(rc2)); + "RPC failed to execute on target. " + "error code: " DF_RC "\n", + DP_RC(rc2)); D_GOTO(out, rc); } diff --git a/src/cart/crt_internal.h b/src/cart/crt_internal.h index 216409d0d53..d9cd17b156d 100644 --- a/src/cart/crt_internal.h +++ b/src/cart/crt_internal.h @@ -92,12 +92,12 @@ RPC_ERROR(rpc, fmt, ## __VA_ARGS__); \ } while (0) -#define RPC_CWARN(cond, mask, rpc, fmt, ...) \ - do { \ - if (cond) \ - RPC_TRACE(mask, rpc, fmt, ## __VA_ARGS__); \ - else \ - RPC_WARN(rpc, fmt, ## __VA_ARGS__); \ +#define RPC_CWARN(cond, mask, rpc, fmt, ...) \ + do { \ + if (cond) \ + RPC_TRACE(mask, rpc, fmt, ##__VA_ARGS__); \ + else \ + RPC_WARN(rpc, fmt, ##__VA_ARGS__); \ } while (0) #ifdef CRT_DEBUG_TRACE diff --git a/src/cart/crt_register.c b/src/cart/crt_register.c index c287f63c6ee..fc0118ef787 100644 --- a/src/cart/crt_register.c +++ b/src/cart/crt_register.c @@ -546,7 +546,7 @@ proto_query_cb(const struct crt_cb_info *cb_info) D_FREE(rpc_req_input->pq_ver.iov_buf); if (cb_info->cci_rc != 0) { - D_WARN("rpc (opc: %#x) failed: "DF_RC"\n", rpc_req->cr_opc, + D_WARN("rpc (opc: %#x) failed: " DF_RC "\n", rpc_req->cr_opc, DP_RC(cb_info->cci_rc)); D_GOTO(out, user_cb_info.pq_rc = cb_info->cci_rc); } diff --git a/src/cart/crt_rpc.c b/src/cart/crt_rpc.c index 781f02d8a11..b9effbeb9ce 100644 --- a/src/cart/crt_rpc.c +++ b/src/cart/crt_rpc.c @@ -887,7 +887,7 @@ uri_lookup_cb(const struct crt_cb_info *cb_info) ul_out = crt_reply_get(lookup_rpc); if (ul_out->ul_rc != 0) { - RPC_WARN(chained_rpc_priv, "URI_LOOKUP returned rc="DF_RC"\n", + RPC_WARN(chained_rpc_priv, "URI_LOOKUP returned rc=" DF_RC "\n", DP_RC(ul_out->ul_rc)); D_GOTO(retry, rc = ul_out->ul_rc); } From 21628a95c9137ac7d77cfde22dd3aa71600f27a8 Mon Sep 17 00:00:00 2001 From: Jinshan Xiong Date: Wed, 27 Nov 2024 18:04:12 +0000 Subject: [PATCH 6/7] somehow spaces are preferred in variable --- src/cart/crt_context.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cart/crt_context.c b/src/cart/crt_context.c index 3cafb8b39fe..610b6fae1a6 100644 --- a/src/cart/crt_context.c +++ b/src/cart/crt_context.c @@ -1227,7 +1227,7 @@ crt_context_timeout_check(struct crt_context *crt_ctx) struct d_binheap_node *bh_node; d_list_t timeout_list; uint64_t ts_now; - bool print_once = false; + bool print_once = false; D_ASSERT(crt_ctx != NULL); From ea28d57e03c87fcf6910a2ce62d5540c6cc575d2 Mon Sep 17 00:00:00 2001 From: Jinshan Xiong Date: Tue, 3 Dec 2024 01:01:49 +0000 Subject: [PATCH 7/7] restore simple_dfs.c --- src/tests/simple_dfs.c | 26 ++++++-------------------- 1 file changed, 6 insertions(+), 20 deletions(-) diff --git a/src/tests/simple_dfs.c b/src/tests/simple_dfs.c index 4fbceeed79c..6e5a73e110f 100644 --- a/src/tests/simple_dfs.c +++ b/src/tests/simple_dfs.c @@ -48,16 +48,8 @@ main(int argc, char **argv) rc = dfs_init(); ASSERT(rc == 0, "dfs_init failed with %d", rc); - daos_prop_t *props = daos_prop_alloc(2); - props->dpp_entries[0].dpe_type = DAOS_PROP_CO_REDUN_FAC; - props->dpp_entries[0].dpe_val = DAOS_PROP_CO_REDUN_RF1; - props->dpp_entries[1].dpe_type = DAOS_PROP_CO_REDUN_LVL; - props->dpp_entries[1].dpe_val = DAOS_PROP_CO_REDUN_RANK; - - dfs_attr_t attr = { .da_props = props }; - /** this creates and mounts the POSIX container */ - rc = dfs_connect(argv[1], NULL, argv[2], O_CREAT | O_RDWR, &attr, &dfs); + rc = dfs_connect(argv[1], NULL, argv[2], O_CREAT | O_RDWR, NULL, &dfs); ASSERT(rc == 0, "dfs_connect failed with %d", rc); mode_t create_mode = S_IWUSR | S_IRUSR; @@ -77,31 +69,25 @@ main(int argc, char **argv) /** write a "hello world!" string to the file at offset 0 */ - const size_t sz = 10485760; - char *wbuf = malloc(sz); + char *wbuf = "hello world!"; d_sg_list_t sgl; d_iov_t iov; - for (size_t i = 0; i < sz; i++) { - wbuf[i] = 'A' + i % 26; - } - /** setup iovec (sgl in DAOS terms) for write buffer */ - d_iov_set(&iov, wbuf, sz); + d_iov_set(&iov, wbuf, strlen(wbuf) + 1); sgl.sg_nr = 1; sgl.sg_iovs = &iov; rc = dfs_write(dfs, f1, &sgl, 0 /** offset */, NULL); ASSERT(rc == 0, "dfs_write() failed\n"); - const size_t rsz = 1048576; - char *rbuf = malloc(rsz); + char rbuf[1024]; daos_size_t read_size; /** reset iovec for read buffer */ - d_iov_set(&iov, rbuf, rsz); + d_iov_set(&iov, rbuf, sizeof(rbuf)); rc = dfs_read(dfs, f1, &sgl, 0 /** offset */, &read_size, NULL); ASSERT(rc == 0, "dfs_read() failed\n"); - //ASSERT(read_size == rsz, "not enough data read\n"); + ASSERT(read_size == strlen(wbuf) + 1, "not enough data read\n"); printf("read back: %s\n", rbuf); /** close / finalize */