Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

zfs test send-c_volume is flaky #14767

Merged
merged 1 commit into from
Apr 19, 2023
Merged

zfs test send-c_volume is flaky #14767

merged 1 commit into from
Apr 19, 2023

Conversation

pcd1193182
Copy link
Contributor

Motivation and Context

During some automated test runs, especially with github workers, this test fails spuriously, with a message about a checksum mismatch. This happens because the test works by reading in the raw zvol device and taking the checksum of the data; however, the way it's structured, the return value of that dd call isn't checked. If the file isn't present, we just checksum the empty string, which does not compare equal to the normal value. This makes it look like corruption is happening, when in fact the device is not present yet.

Description

We use block_device_wait to wait for the zvol block device to actually appear, and we log the result of the dd calls by using an intermediate file.

How Has This Been Tested?

Several runs of the test in question, and the rest of the test suite.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Performance enhancement (non-breaking change which improves efficiency)
  • Code cleanup (non-breaking change which makes code smaller or more readable)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Library ABI change (libzfs, libzfs_core, libnvpair, libuutil and libzfsbootenv)
  • Documentation (a change to man pages or other documentation)

Checklist:

Signed-off-by: Paul Dagnelie <pcd@delphix.com>
Copy link
Member

@gmelikov gmelikov left a comment

Choose a reason for hiding this comment

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

LGTM

Copy link
Contributor

@behlendorf behlendorf left a comment

Choose a reason for hiding this comment

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

Thanks for running this down!

@behlendorf behlendorf added the Status: Code Review Needed Ready for review and testing label Apr 19, 2023
@behlendorf behlendorf added Status: Accepted Ready to integrate (reviewed, tested) and removed Status: Code Review Needed Ready for review and testing labels Apr 19, 2023
@behlendorf behlendorf merged commit d465783 into openzfs:master Apr 19, 2023
andrewc12 pushed a commit to andrewc12/openzfs that referenced this pull request Apr 30, 2023
We use block_device_wait to wait for the zvol block device to 
actually appear, and we log the result of the dd calls by using 
an intermediate file.

Reviewed-by: George Melikov <mail@gmelikov.ru>
Reviewed-by: John Wren Kennedy <john.kennedy@delphix.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Paul Dagnelie <pcd@delphix.com>
Closes openzfs#14767
behlendorf pushed a commit to behlendorf/zfs that referenced this pull request May 26, 2023
We use block_device_wait to wait for the zvol block device to 
actually appear, and we log the result of the dd calls by using 
an intermediate file.

Reviewed-by: George Melikov <mail@gmelikov.ru>
Reviewed-by: John Wren Kennedy <john.kennedy@delphix.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Paul Dagnelie <pcd@delphix.com>
Closes openzfs#14767
behlendorf pushed a commit that referenced this pull request May 28, 2023
We use block_device_wait to wait for the zvol block device to 
actually appear, and we log the result of the dd calls by using 
an intermediate file.

Reviewed-by: George Melikov <mail@gmelikov.ru>
Reviewed-by: John Wren Kennedy <john.kennedy@delphix.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Paul Dagnelie <pcd@delphix.com>
Closes #14767
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Status: Accepted Ready to integrate (reviewed, tested)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants