-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
zio_decompress_data always ASSERTs successful decompression #9630
Conversation
72f9da3
to
b2d1cf7
Compare
Codecov Report
@@ Coverage Diff @@
## master #9630 +/- ##
========================================
+ Coverage 79% 79% +<1%
========================================
Files 418 418
Lines 123577 123589 +12
========================================
+ Hits 97951 97990 +39
+ Misses 25626 25599 -27
Continue to review full report at Codecov.
|
b2d1cf7
to
2d61a0f
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks to me, but it does need a rebase.
missed previous update with |
I will rebase making sure to pick up the most recent zdb related changes, and update the description above to reflect what we decided to do. |
2d61a0f
to
72619fd
Compare
give me please 1-2 days on testing. if it is critical, you can merge it and i'll report tests/review results later. |
Later today I will be addressing the test procedure issue that @freqlabs pointed out. |
This interferes with zdb_read_block trying all the decompression algorithms when the 'd' flag is specified, as some are expected to fail. Also control the output when guessing algorithms, try the more common compression types first, allow specifying lsize/psize, and fix an uninitialized variable. Signed-off-by: Paul Zuchowski <pzuchowski@datto.com> Fixes openzfs#9612
72619fd
to
98f7544
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, that makes more sense 👍
|
Thanks for checking @ikozhukhov |
This interferes with zdb_read_block trying all the decompression algorithms when the 'd' flag is specified, as some are expected to fail. Also control the output when guessing algorithms, try the more common compression types first, allow specifying lsize/psize, and fix an uninitialized variable. Reviewed-by: Ryan Moeller <ryan@ixsystems.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Paul Zuchowski <pzuchowski@datto.com> Closes openzfs#9612 Closes openzfs#9630
This interferes with zdb_read_block trying all the decompression algorithms when the 'd' flag is specified, as some are expected to fail. Also control the output when guessing algorithms, try the more common compression types first, allow specifying lsize/psize, and fix an uninitialized variable. Reviewed-by: Ryan Moeller <ryan@ixsystems.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Paul Zuchowski <pzuchowski@datto.com> Closes openzfs#9612 Closes openzfs#9630
This interferes with zdb_read_block trying all the decompression algorithms when the 'd' flag is specified, as some are expected to fail. Also control the output when guessing algorithms, try the more common compression types first, allow specifying lsize/psize, and fix an uninitialized variable. Reviewed-by: Ryan Moeller <ryan@ixsystems.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Paul Zuchowski <pzuchowski@datto.com> Closes #9612 Closes #9630
zio_decompress_data affects zdb by always ASSERTing successful decompression
This interferes with zdb_read_block trying all the decompression algoirithms when the 'd' flag is specified, as some are expected to fail. Also control the output when guessing algorithms, try the more common compression types first, allow specifying lsize/psize, and fix an uninitialized variable.
Signed-off-by: Paul Zuchowski pzuchowski@datto.com
Fixes #9612
Motivation and Context
Improve the behavior of zdb -R with the 'd' flag for decompression. As noted above, not all the use cases are working.
Description
Remove the ASSERT. Control the output when guessing algorithms by adding a 'v' verbose flag.
Try the more common compression types first.
Allow specifying lsize/psize to limit the upper range of the decompressed size when guessing. (You can copy and paste lsize/psize from the block pointer output.). Examples:
Fix an uninitialized variable dmu_objset_stats_t dds in dump_objset() which results in random false positive for inconsistent dataset in zdb output.
Eliminate the 'p' flag for -R since it is never used.
Man page changes.
How Has This Been Tested?
Manually, and created a zfs test for the decompression features.
Types of changes
Checklist:
Signed-off-by
.