Skip to content

DAOS-17995 dlck: check container's metadata + small fixes: - #18916

Open
janekmi wants to merge 5 commits into
masterfrom
janekmi/DAOS-17995-dlck-check-container-metadata
Open

DAOS-17995 dlck: check container's metadata + small fixes:#18916
janekmi wants to merge 5 commits into
masterfrom
janekmi/DAOS-17995-dlck-check-container-metadata

Conversation

@janekmi

@janekmi janekmi commented Aug 24, 2026

Copy link
Copy Markdown
Contributor
  • fix memory leak in btr_nodes_check()
  • fix wrong argument processing in ck_report()
  • decrement indentation in case of an error in vos_pool_open_metrics()

Steps for the author:

  • Commit message follows the guidelines.
  • Appropriate Features or Test-tag pragmas were used.
  • Appropriate Functional Test Stages were run.
  • At least two positive code reviews including at least one code owner from each category referenced in the PR.
  • Testing is complete. If necessary, forced-landing label added and a reason added in a comment.

After all prior steps are complete:

  • Gatekeeper requested (daos-gatekeeper added as a reviewer).

@daosbuild3

Copy link
Copy Markdown
Collaborator

@janekmi
janekmi force-pushed the janekmi/DAOS-17995-dlck-check-container-metadata branch 2 times, most recently from 72d0f24 to 63eace9 Compare August 24, 2026 16:00
@daosbuild3

Copy link
Copy Markdown
Collaborator

@daosbuild3

Copy link
Copy Markdown
Collaborator

@janekmi
janekmi force-pushed the janekmi/DAOS-17995-dlck-check-container-metadata branch from 63eace9 to 2db0a3d Compare August 24, 2026 16:11
@daosbuild3

Copy link
Copy Markdown
Collaborator

@daosbuild3

Copy link
Copy Markdown
Collaborator

... small fixes:

- fix memory leak in btr_nodes_check()
- fix wrong argument processing in ck_report()
- decrement indentation in case of an error in vos_pool_open_metrics()

Signed-off-by: Jan Michalski <jan-marian.michalski@hpe.com>
@janekmi
janekmi force-pushed the janekmi/DAOS-17995-dlck-check-container-metadata branch from 2db0a3d to dcf8502 Compare August 24, 2026 16:38
@janekmi
janekmi marked this pull request as ready for review August 24, 2026 16:40
@janekmi
janekmi requested review from a team as code owners August 24, 2026 16:40
@github-actions

github-actions Bot commented Aug 24, 2026

Copy link
Copy Markdown

Ticket title is 'dlck: check container's metadata'
Status is 'In Review'
Labels: '2.8pp'
https://daosio.atlassian.net/browse/DAOS-17995

@janekmi
janekmi requested review from Nasf-Fan and NiuYawei August 24, 2026 16:40
@daosbuild3

Copy link
Copy Markdown
Collaborator

@janekmi
janekmi removed the request for review from NiuYawei August 24, 2026 16:46
Signed-off-by: Jan Michalski <jan-marian.michalski@hpe.com>
@daosbuild3

Copy link
Copy Markdown
Collaborator

Signed-off-by: Jan Michalski <jan-marian.michalski@hpe.com>
@janekmi janekmi changed the title DAOS-17995 dlck: check container's metadata + two small fixes: DAOS-17995 dlck: check container's metadata + small fixes: Aug 24, 2026
@daosbuild3

Copy link
Copy Markdown
Collaborator

@daosbuild3

Copy link
Copy Markdown
Collaborator

@janekmi
janekmi requested a review from grom72 August 25, 2026 07:52
Comment thread src/common/btree.c
param.ip_flags = VOS_IT_FOR_CHECK;

return vos_iterate(&param, VOS_ITER_COUUID, false, &anchors, cont_process, NULL, &cb_arg,
NULL);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Be as backend consistency verification utils, it is expected that one container corruption should not affect the checking of other containers in the same pool, or we can allow the user to specify fallout or fail-continue.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done. For now I adopted the minimal solution: check all containers unconditionally. If having an option to would be desirable we can always introduce it in the future.

Comment thread src/vos/vos_container.c Outdated
cont->vc_mod_epoch_bound = d_hlc_get();

rc = vos_dtx_act_reindex(cont);
CK_PRINT(ck, CK_DBD_LIST_STR "...\n");

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggest to rename CK_DBD_LIST_STR as CK_ACT_DBD_LIST_STR. Because we maintain both active DXT table and committed DTX table in VOS. Here, we only reindex the active DTX table, then your logic only verifies the active DTX table blob.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

Comment thread src/vos/vos_dtx.c
while (!UMOFF_IS_NULL(dbd_off)) {
int dbd_count = 0;

CK_PRINTF(ck, CK_DBD_FMT "\n", dbd_off);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CK_DBD_FMT => CK_ACT_DBD_FMT

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually this "DTX blob (off=%#lx)... " format can be used in the future for both blobs on the active and committed lists. There is nothing specific to active DTX blobs about it. What do you think? 🤔

... call this list active explicitly.

Signed-off-by: Jan Michalski <jan-marian.michalski@hpe.com>
Signed-off-by: Jan Michalski <jan-marian.michalski@hpe.com>
@janekmi
janekmi requested a review from Nasf-Fan August 26, 2026 09:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants