Skip to content

DAOS-18683 dfuse: fixes to read and write paths#17882

Merged
mchaarawi merged 1 commit intomasterfrom
mschaara/dfuse_io_fixes
Apr 8, 2026
Merged

DAOS-18683 dfuse: fixes to read and write paths#17882
mchaarawi merged 1 commit intomasterfrom
mschaara/dfuse_io_fixes

Conversation

@mchaarawi
Copy link
Copy Markdown
Contributor

  • pre-read fixes mostly to handle EOF guards or overflows
  • init buffer to 0 in case of mock_read
  • write fixes for error cases

Feature: dfuse

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).

@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 2, 2026

Ticket title is 'dfuse/daos_build.py:DaosBuild.test_dfuse_daos_build_wb - Failure to build over dfuse in mode writeback'
Status is 'Open'
Labels: 'ci_master_daily,daily_test,master'
https://daosio.atlassian.net/browse/DAOS-18683

@daosbuild3
Copy link
Copy Markdown
Collaborator

@daosbuild3
Copy link
Copy Markdown
Collaborator

@daosbuild3
Copy link
Copy Markdown
Collaborator

@mchaarawi mchaarawi force-pushed the mschaara/dfuse_io_fixes branch 5 times, most recently from 0248baa to ce633e7 Compare April 3, 2026 04:38
@daosbuild3
Copy link
Copy Markdown
Collaborator

@mchaarawi mchaarawi force-pushed the mschaara/dfuse_io_fixes branch from ce633e7 to bea3c22 Compare April 3, 2026 23:39
@daosbuild3
Copy link
Copy Markdown
Collaborator

@daosbuild3
Copy link
Copy Markdown
Collaborator

@mchaarawi mchaarawi force-pushed the mschaara/dfuse_io_fixes branch from bea3c22 to 2a0443e Compare April 4, 2026 21:35
@daosbuild3
Copy link
Copy Markdown
Collaborator

Test stage Functional Hardware Medium MD on SSD completed with status UNSTABLE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net/job/daos-stack/job/daos//view/change-requests/job/PR-17882/13/testReport/

@daosbuild3
Copy link
Copy Markdown
Collaborator

@daosbuild3
Copy link
Copy Markdown
Collaborator

- pre-read fixes mostly to handle EOF guards or overflows
- init buffer to 0 in case of mock_read
- write fixes for error cases

Features: dfuse
Allow-unstable-test: true

Signed-off-by: Mohamad Chaarawi <mohamad.chaarawi@hpe.com>
@mchaarawi mchaarawi force-pushed the mschaara/dfuse_io_fixes branch from 2a0443e to a97032c Compare April 6, 2026 00:16
@daosbuild3
Copy link
Copy Markdown
Collaborator

Test stage Functional Hardware Medium MD on SSD completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net/job/daos-stack/job/daos/job/PR-17882/15/display/redirect

@daosbuild3
Copy link
Copy Markdown
Collaborator

@mchaarawi mchaarawi marked this pull request as ready for review April 7, 2026 12:25
@mchaarawi mchaarawi requested review from a team as code owners April 7, 2026 12:25
@mchaarawi
Copy link
Copy Markdown
Contributor Author

existing failure with dfuse Feature tests: https://daosio.atlassian.net/browse/DAOS-18231

Copy link
Copy Markdown
Contributor

@knard38 knard38 left a comment

Choose a reason for hiding this comment

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

LGTM for what I understand.

if (rc)
D_GOTO(err, rc);

if (dfs_flags & DFS_SET_ATTR_SIZE) {
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.

My apologies for the probably stupid question, but I am not very familiar with this part of the code.
Do not understand why this code needs to be done after the call of dfs_osetattr()

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.

to guard against DFS call failing for any reason, to not have the local cache state for dfuse truncate mode as mismatching the backend.

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.

Arghhh, make complete sense. The same as you have done with dfs_write() in write.c.
Thanks for the explanation.

@mchaarawi mchaarawi requested a review from a team April 8, 2026 14:14
@mchaarawi mchaarawi merged commit 864af0e into master Apr 8, 2026
38 of 40 checks passed
@mchaarawi mchaarawi deleted the mschaara/dfuse_io_fixes branch April 8, 2026 14:15
mchaarawi added a commit that referenced this pull request Apr 8, 2026
- pre-read fixes mostly to handle EOF guards or overflows
- init buffer to 0 in case of mock_read
- write fixes for error cases

Signed-off-by: Mohamad Chaarawi <mohamad.chaarawi@hpe.com>
mchaarawi added a commit that referenced this pull request Apr 9, 2026
- pre-read fixes mostly to handle EOF guards or overflows
- init buffer to 0 in case of mock_read
- write fixes for error cases

Signed-off-by: Mohamad Chaarawi <mohamad.chaarawi@hpe.com>
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.

4 participants