Skip to content

Commit

Permalink
DAOS-16464 test: Merge branch 'master' into dbohning/daos-16464
Browse files Browse the repository at this point in the history
Test-tag: EcodOnlineRebuildMdtest
Test-repeat: 3
Skip-unit-tests: true
Skip-fault-injection-test: true

Signed-off-by: Padmanabhan <ravindran.padmanabhan@intel.com>
  • Loading branch information
rpadma2 committed Jan 14, 2025
2 parents 40b4a51 + 48f4461 commit 2cffbfa
Show file tree
Hide file tree
Showing 29 changed files with 339 additions and 229 deletions.
4 changes: 4 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,9 @@ updates:
directory: /
schedule:
interval: weekly
groups:
gha-versions:
patterns:
- "*"
assignees:
- daos-stack/actions-watchers
4 changes: 2 additions & 2 deletions .github/workflows/bullseye-coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -366,7 +366,7 @@ jobs:
if: (!cancelled()) && (success() || failure()) &&
steps.run-test.outcome != 'skipped'
# yamllint disable-line rule:line-length
uses: EnricoMi/publish-unit-test-result-action@4e7013f9576bd22ffdae979dc6e68cb9ec2aeece # v2.7.0
uses: EnricoMi/publish-unit-test-result-action@170bf24d20d201b842d7a52403b73ed297e6645b # v2.18.0
with:
check_name: ${{ env.STAGE_NAME }} Test Results
github_token: ${{ secrets.GITHUB_TOKEN }}
Expand Down Expand Up @@ -634,7 +634,7 @@ jobs:
if: (!cancelled()) && (success() || failure()) &&
steps.run-test.outcome != 'skipped'
# yamllint disable-line rule:line-length
uses: EnricoMi/publish-unit-test-result-action@4e7013f9576bd22ffdae979dc6e68cb9ec2aeece # v2.7.0
uses: EnricoMi/publish-unit-test-result-action@170bf24d20d201b842d7a52403b73ed297e6645b # v2.18.0
with:
check_name: ${{ env.STAGE_NAME }} Test Results
github_token: ${{ secrets.GITHUB_TOKEN }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci2.yml
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ jobs:
- name: Publish NLT test results
if: always()
# yamllint disable-line rule:line-length
uses: EnricoMi/publish-unit-test-result-action@4e7013f9576bd22ffdae979dc6e68cb9ec2aeece # v2.7.0
uses: EnricoMi/publish-unit-test-result-action@170bf24d20d201b842d7a52403b73ed297e6645b # v2.18.0
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
files: nlt-junit.xml
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/landing-builds.yml
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ jobs:
- name: Publish NLT test results
if: always()
# yamllint disable-line rule:line-length
uses: EnricoMi/publish-unit-test-result-action@4e7013f9576bd22ffdae979dc6e68cb9ec2aeece # v2.7.0
uses: EnricoMi/publish-unit-test-result-action@170bf24d20d201b842d7a52403b73ed297e6645b # v2.18.0
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
files: nlt-junit.xml
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/linting.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: Set up Python environment
uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0
with:
python-version: '3'
- name: Install extra python packages
Expand Down Expand Up @@ -86,7 +86,7 @@ jobs:
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: Set up Python environment
uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0
with:
python-version: '3'
- name: Add parser
Expand Down Expand Up @@ -139,7 +139,7 @@ jobs:
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
ref: ${{ github.event.pull_request.head.sha }}
- uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0
- uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0
with:
python-version: '3.11'
- name: Install python packages
Expand Down Expand Up @@ -194,7 +194,7 @@ jobs:
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: Set up Python environment
uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0
with:
python-version: '3'
- name: Install extra python packages
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ossf-scorecard.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,6 @@ jobs:
# Upload the results to GitHub's code scanning dashboard (optional).
# Commenting out will disable upload of results to your repo's Code Scanning dashboard
- name: "Upload to code-scanning"
uses: github/codeql-action/upload-sarif@df409f7d9260372bd5f19e5b04e83cb3c43714ae # v3.27.9
uses: github/codeql-action/upload-sarif@48ab28a6f5dbc2a99bf1e0131198dd8f1df78169 # v3.28.0
with:
sarif_file: results.sarif
4 changes: 2 additions & 2 deletions .github/workflows/rpm-build-and-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -374,7 +374,7 @@ jobs:
if: (!cancelled()) && (success() || failure()) &&
steps.run-test.outcome != 'skipped'
# yamllint disable-line rule:line-length
uses: EnricoMi/publish-unit-test-result-action@4e7013f9576bd22ffdae979dc6e68cb9ec2aeece # v2.7.0
uses: EnricoMi/publish-unit-test-result-action@170bf24d20d201b842d7a52403b73ed297e6645b # v2.18.0
with:
check_name: ${{ env.STAGE_NAME }} Test Results
github_token: ${{ secrets.GITHUB_TOKEN }}
Expand Down Expand Up @@ -642,7 +642,7 @@ jobs:
if: (!cancelled()) && (success() || failure()) &&
steps.run-test.outcome != 'skipped'
# yamllint disable-line rule:line-length
uses: EnricoMi/publish-unit-test-result-action@4e7013f9576bd22ffdae979dc6e68cb9ec2aeece # v2.7.0
uses: EnricoMi/publish-unit-test-result-action@170bf24d20d201b842d7a52403b73ed297e6645b # v2.18.0
with:
check_name: ${{ env.STAGE_NAME }} Test Results
github_token: ${{ secrets.GITHUB_TOKEN }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/trivy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ jobs:
trivy-config: 'utils/trivy/trivy.yaml'

- name: Upload Trivy scan results to GitHub Security tab
uses: github/codeql-action/upload-sarif@df409f7d9260372bd5f19e5b04e83cb3c43714ae # v3.27.9
uses: github/codeql-action/upload-sarif@48ab28a6f5dbc2a99bf1e0131198dd8f1df78169 # v3.28.0
with:
sarif_file: 'trivy-results.sarif'

Expand Down
7 changes: 5 additions & 2 deletions src/bio/bio_xstream.c
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
/**
* (C) Copyright 2018-2024 Intel Corporation.
* (C) Copyright 2025 Hewlett Packard Enterprise Development LP
*
* SPDX-License-Identifier: BSD-2-Clause-Patent
*/
Expand Down Expand Up @@ -31,7 +32,7 @@
/* SPDK blob parameters */
#define DAOS_BS_CLUSTER_SZ (1ULL << 25) /* 32MB */
/* DMA buffer parameters */
#define DAOS_DMA_CHUNK_INIT_PCT 60 /* Default pre-xstream init chunks, in percentage */
#define DAOS_DMA_CHUNK_INIT_PCT 50 /* Default per-xstream init chunks, in percentage */
#define DAOS_DMA_CHUNK_CNT_MAX 128 /* Default per-xstream max chunks, 1GB */
#define DAOS_DMA_CHUNK_CNT_MIN 32 /* Per-xstream min chunks, 256MB */

Expand Down Expand Up @@ -1686,7 +1687,9 @@ bio_xsctxt_alloc(struct bio_xs_context **pctxt, int tgt_id, bool self_polling)
D_ASSERT(d_bdev != NULL);
}

ctxt->bxc_dma_buf = dma_buffer_create(init_chk_cnt(), tgt_id);
/* Sys target only needs very limited DMA buffer for the WAL of RDB */
ctxt->bxc_dma_buf = dma_buffer_create(tgt_id == BIO_SYS_TGT_ID ? 1 : init_chk_cnt(),
tgt_id);
if (ctxt->bxc_dma_buf == NULL) {
D_ERROR("failed to initialize dma buffer\n");
rc = -DER_NOMEM;
Expand Down
5 changes: 3 additions & 2 deletions src/cart/crt_iv.c
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
/*
* (C) Copyright 2016-2024 Intel Corporation.
* (C) Copyright 2025 Hewlett Packard Enterprise Development LP
*
* SPDX-License-Identifier: BSD-2-Clause-Patent
*/
Expand Down Expand Up @@ -3513,8 +3514,8 @@ crt_iv_update_internal(crt_iv_namespace_t ivns, uint32_t class_id,

D_GOTO(exit, rc);
} else {
DL_CDEBUG(rc == -DER_NONEXIST || rc == -DER_NOTLEADER || rc == -DER_BUSY,
DLOG_INFO, DLOG_ERR, rc, "ivo_on_update failed");
DL_CDEBUG(rc == -DER_NONEXIST || rc == -DER_NOTLEADER || rc == -DER_BUSY, DB_TRACE,
DLOG_ERR, rc, "ivo_on_update failed");

update_comp_cb(ivns, class_id, iv_key, NULL,
iv_value, rc, cb_arg);
Expand Down
6 changes: 6 additions & 0 deletions src/cart/utils/memcheck-cart.supp
Original file line number Diff line number Diff line change
Expand Up @@ -695,3 +695,9 @@
...
fun:runtime.rt0_go.abi0
}
{
tsan::MemoryAccessRange
Memcheck:Value8
fun:_ZN6__tsan18MemoryAccessRangeTILb1EEEvPNS_11ThreadStateEmmm
fun:racecall
}
5 changes: 3 additions & 2 deletions src/client/dfuse/dfuse.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
/**
* (C) Copyright 2016-2024 Intel Corporation.
* (C) Copyright 2025 Hewlett Packard Enterprise Development LP
*
* SPDX-License-Identifier: BSD-2-Clause-Patent
*/
Expand Down Expand Up @@ -736,7 +737,7 @@ dfuse_loop(struct dfuse_info *dfuse_info);
_Static_assert(IS_IE(_ie), "Param is not inode entry"); \
(_ie) = NULL; \
__rc = fuse_reply_err(req, 0); \
if (__rc != 0) \
if (__rc != 0 && __rc != -ENOENT) \
DS_ERROR(-__rc, "fuse_reply_err() error"); \
} while (0)

Expand All @@ -748,7 +749,7 @@ dfuse_loop(struct dfuse_info *dfuse_info);
_Static_assert(IS_OH(_oh), "Param is not open handle"); \
(_oh)->doh_ie = NULL; \
__rc = fuse_reply_err(req, 0); \
if (__rc != 0) \
if (__rc != 0 && __rc != -ENOENT) \
DS_ERROR(-__rc, "fuse_reply_err() error"); \
} while (0)

Expand Down
5 changes: 3 additions & 2 deletions src/container/oid_iv.c
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
/**
* (C) Copyright 2017-2024 Intel Corporation.
* (C) Copyright 2025 Hewlett Packard Enterprise Development LP
*
* SPDX-License-Identifier: BSD-2-Clause-Patent
*/
Expand Down Expand Up @@ -133,10 +134,10 @@ oid_iv_ent_update(struct ds_iv_entry *ns_entry, struct ds_iv_key *iv_key,
entry = ns_entry->iv_value.sg_iovs[0].iov_buf;
rc = ABT_mutex_trylock(entry->lock);
/** For retry requests, from _iv_op(), the lock may not be released in some cases. */
if (rc == ABT_ERR_MUTEX_LOCKED && entry->current_req != src)
if (rc == ABT_ERR_MUTEX_LOCKED && entry->current_req != priv)
return -DER_BUSY;

entry->current_req = src;
entry->current_req = priv;
avail = &entry->rg;

oids = src->sg_iovs[0].iov_buf;
Expand Down
6 changes: 3 additions & 3 deletions src/engine/server_iv.c
Original file line number Diff line number Diff line change
Expand Up @@ -1099,9 +1099,9 @@ _iv_op(struct ds_iv_ns *ns, struct ds_iv_key *key, d_sg_list_t *value,
* reply IVCB_FORWARD.
*/
if (total_ms % 10000 == 0)
D_INFO("ns %u retry for class %d opc %d rank %u/%u: " DF_RC "\n",
ns->iv_ns_id, key->class_id, opc, key->rank, ns->iv_master_rank,
DP_RC(rc));
D_DEBUG(DB_TRACE, "ns %u retry for class %d opc %d rank %u/%u: " DF_RC "\n",
ns->iv_ns_id, key->class_id, opc, key->rank, ns->iv_master_rank,
DP_RC(rc));

dss_sleep(sleep_ms);
total_ms += sleep_ms;
Expand Down
40 changes: 40 additions & 0 deletions src/include/daos_obj_class.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
/**
* (C) Copyright 2015-2024 Intel Corporation.
* (C) Copyright 2025 Hewlett Packard Enterprise Development LP
*
* SPDX-License-Identifier: BSD-2-Clause-Patent
*/
Expand Down Expand Up @@ -60,8 +61,11 @@ enum daos_obj_redun {
* Examples:
* - 2P1: 2+1 EC object
* - 4P2: 4+2 EC object
* - 4P3: 4+3 EC object
* - 8P2: 8+2 EC object
* - 8P3: 8+3 EC object
* - 16P2: 16+2 EC object
* - 16P3: 16+3 EC object
*/
OR_RS_2P1 = 32,
OR_RS_2P2,
Expand All @@ -71,6 +75,9 @@ enum daos_obj_redun {
OR_RS_8P2,
OR_RS_16P1,
OR_RS_16P2,
OR_RS_4P3,
OR_RS_8P3,
OR_RS_16P3,

/*
* Predefined object classes that can be used directly by the API user.
Expand Down Expand Up @@ -340,6 +347,17 @@ enum daos_obj_redun {
OC_EC_4P2G32 = OBJ_CLASS_DEF(OR_RS_4P2, 32ULL),
OC_EC_4P2GX = OBJ_CLASS_DEF(OR_RS_4P2, MAX_NUM_GROUPS),

/** EC 4+3 object classes */
OC_EC_4P3G1 = OBJ_CLASS_DEF(OR_RS_4P3, 1ULL),
OC_EC_4P3G2 = OBJ_CLASS_DEF(OR_RS_4P3, 2ULL),
OC_EC_4P3G4 = OBJ_CLASS_DEF(OR_RS_4P3, 4ULL),
OC_EC_4P3G6 = OBJ_CLASS_DEF(OR_RS_4P3, 6ULL),
OC_EC_4P3G8 = OBJ_CLASS_DEF(OR_RS_4P3, 8ULL),
OC_EC_4P3G12 = OBJ_CLASS_DEF(OR_RS_4P3, 12ULL),
OC_EC_4P3G16 = OBJ_CLASS_DEF(OR_RS_4P3, 16ULL),
OC_EC_4P3G32 = OBJ_CLASS_DEF(OR_RS_4P3, 32ULL),
OC_EC_4P3GX = OBJ_CLASS_DEF(OR_RS_4P3, MAX_NUM_GROUPS),

/** EC 8+1 object classes */
OC_EC_8P1G1 = OBJ_CLASS_DEF(OR_RS_8P1, 1ULL),
OC_EC_8P1G2 = OBJ_CLASS_DEF(OR_RS_8P1, 2ULL),
Expand All @@ -362,6 +380,17 @@ enum daos_obj_redun {
OC_EC_8P2G32 = OBJ_CLASS_DEF(OR_RS_8P2, 32ULL),
OC_EC_8P2GX = OBJ_CLASS_DEF(OR_RS_8P2, MAX_NUM_GROUPS),

/** EC 8+3 object classes */
OC_EC_8P3G1 = OBJ_CLASS_DEF(OR_RS_8P3, 1ULL),
OC_EC_8P3G2 = OBJ_CLASS_DEF(OR_RS_8P3, 2ULL),
OC_EC_8P3G4 = OBJ_CLASS_DEF(OR_RS_8P3, 4ULL),
OC_EC_8P3G6 = OBJ_CLASS_DEF(OR_RS_8P3, 6ULL),
OC_EC_8P3G8 = OBJ_CLASS_DEF(OR_RS_8P3, 8ULL),
OC_EC_8P3G12 = OBJ_CLASS_DEF(OR_RS_8P3, 12ULL),
OC_EC_8P3G16 = OBJ_CLASS_DEF(OR_RS_8P3, 16ULL),
OC_EC_8P3G32 = OBJ_CLASS_DEF(OR_RS_8P3, 32ULL),
OC_EC_8P3GX = OBJ_CLASS_DEF(OR_RS_8P3, MAX_NUM_GROUPS),

/** EC 16+1 object classes */
OC_EC_16P1G1 = OBJ_CLASS_DEF(OR_RS_16P1, 1ULL),
OC_EC_16P1G2 = OBJ_CLASS_DEF(OR_RS_16P1, 2ULL),
Expand All @@ -384,6 +413,17 @@ enum daos_obj_redun {
OC_EC_16P2G32 = OBJ_CLASS_DEF(OR_RS_16P2, 32ULL),
OC_EC_16P2GX = OBJ_CLASS_DEF(OR_RS_16P2, MAX_NUM_GROUPS),

/** EC 16+3 object classes */
OC_EC_16P3G1 = OBJ_CLASS_DEF(OR_RS_16P3, 1ULL),
OC_EC_16P3G2 = OBJ_CLASS_DEF(OR_RS_16P3, 2ULL),
OC_EC_16P3G4 = OBJ_CLASS_DEF(OR_RS_16P3, 4ULL),
OC_EC_16P3G6 = OBJ_CLASS_DEF(OR_RS_16P3, 6ULL),
OC_EC_16P3G8 = OBJ_CLASS_DEF(OR_RS_16P3, 8ULL),
OC_EC_16P3G12 = OBJ_CLASS_DEF(OR_RS_16P3, 12ULL),
OC_EC_16P3G16 = OBJ_CLASS_DEF(OR_RS_16P3, 16ULL),
OC_EC_16P3G32 = OBJ_CLASS_DEF(OR_RS_16P3, 32ULL),
OC_EC_16P3GX = OBJ_CLASS_DEF(OR_RS_16P3, MAX_NUM_GROUPS),

/** Class ID equal or higher than this is reserved */
OC_RESERVED = 1 << 30,

Expand Down
Loading

0 comments on commit 2cffbfa

Please sign in to comment.