-
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
OpenZFS 9690 - metaslab of vdev with no space maps was flushed during removal #8039
Conversation
… removal Authored by: Serapheim Dimitropoulos <[email protected]> Reviewed by: Matt Ahrens <[email protected]> Reviewed by: Brad Lewis <[email protected]> Approved by: Robert Mustacchi <[email protected]> Ported-by: Brian Behlendorf <[email protected]> OpenZFS-issue: https://www.illumos.org/issues/9690 OpenZFS-commit: openzfs/openzfs@4e75ba6826
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.
Lgtm
Codecov Report
@@ Coverage Diff @@
## master #8039 +/- ##
==========================================
- Coverage 78.46% 78.35% -0.12%
==========================================
Files 377 377
Lines 114404 114405 +1
==========================================
- Hits 89768 89639 -129
- Misses 24636 24766 +130
Continue to review full report at Codecov.
|
… removal Authored by: Serapheim Dimitropoulos <[email protected]> Reviewed by: Matt Ahrens <[email protected]> Reviewed by: Brad Lewis <[email protected]> Reviewed by: George Melikov <[email protected]> Approved by: Robert Mustacchi <[email protected]> Ported-by: Brian Behlendorf <[email protected]> OpenZFS-issue: https://www.illumos.org/issues/9690 OpenZFS-commit: openzfs/openzfs@4e75ba6826 Closes openzfs#8039
… removal Authored by: Serapheim Dimitropoulos <[email protected]> Reviewed by: Matt Ahrens <[email protected]> Reviewed by: Brad Lewis <[email protected]> Reviewed by: George Melikov <[email protected]> Approved by: Robert Mustacchi <[email protected]> Ported-by: Brian Behlendorf <[email protected]> OpenZFS-issue: https://www.illumos.org/issues/9690 OpenZFS-commit: openzfs/openzfs@4e75ba6826 Closes openzfs#8039
… removal Authored by: Serapheim Dimitropoulos <[email protected]> Reviewed by: Matt Ahrens <[email protected]> Reviewed by: Brad Lewis <[email protected]> Reviewed by: George Melikov <[email protected]> Approved by: Robert Mustacchi <[email protected]> Ported-by: Brian Behlendorf <[email protected]> OpenZFS-issue: https://www.illumos.org/issues/9690 OpenZFS-commit: openzfs/openzfs@4e75ba6826 Closes openzfs#8039
Motivation and Context
OpenZFS-issue: https://www.illumos.org/issues/9690
OpenZFS-commit: openzfs/openzfs@4e75ba6826
Description
This seems to point to that the space map's dnode has been freed probably through dnode_sync_free() as this is the function that actually frees the dnode and zeroes out all the above fields.
The failure occurs while we were trying to flush a metaslab in spa_sync() and these code paths have assertions everywhere that we only flush metaslabs that have a space map (e.g. went through metaslab_sync() at least once since the creation of the pool). There is a contradiction then where the metaslab's spacemap information in memory (ms_sm data) exist but the actual space map on-disk have been freed.
To fix this, we first want to try calling vdev_remove_empty() only for log devices in vdev_sync().
How Has This Been Tested?
Locally built, merged to illumos, pending CI results.
Types of changes
Checklist:
Signed-off-by
.