-
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
Ignore special vdev ashift for spa ashift min/max #11053
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Signed-off-by: Don Brady <[email protected]>
ahrens
approved these changes
Oct 13, 2020
behlendorf
approved these changes
Oct 14, 2020
Signed-off-by: Don Brady <[email protected]>
behlendorf
added
Status: Accepted
Ready to integrate (reviewed, tested)
and removed
Status: Code Review Needed
Ready for review and testing
labels
Oct 14, 2020
Codecov Report
@@ Coverage Diff @@
## master #11053 +/- ##
==========================================
+ Coverage 79.66% 79.82% +0.15%
==========================================
Files 397 397
Lines 125753 125755 +2
==========================================
+ Hits 100184 100383 +199
+ Misses 25569 25372 -197
Flags with carried forward coverage won't be shown. Click here to find out more.
Continue to review full report at Codecov.
|
behlendorf
pushed a commit
that referenced
this pull request
Oct 16, 2020
The removal of a vdev in the normal class would fail if there was a special or deup vdev that had a different ashift than the vdevs in the normal class. Moved the initialization of spa_min_ashift / spa_max_ashift from vdev_open so that it occurs after the vdev allocation bias was initialized (i.e. after vdev_load). Caveat -- In order to remove a special/dedup vdev it must have the same ashift as the normal pool vdevs. This could perhaps be lifted in the future (i.e. for the case where there is ample space in any surviving special class vdevs) Reviewed-by: Matthew Ahrens <[email protected]> Reviewed-by: Brian Behlendorf <[email protected]> Signed-off-by: Don Brady <[email protected]> Closes #9363 Closes #9364 Closes #11053
jsai20
pushed a commit
to jsai20/zfs
that referenced
this pull request
Mar 30, 2021
The removal of a vdev in the normal class would fail if there was a special or deup vdev that had a different ashift than the vdevs in the normal class. Moved the initialization of spa_min_ashift / spa_max_ashift from vdev_open so that it occurs after the vdev allocation bias was initialized (i.e. after vdev_load). Caveat -- In order to remove a special/dedup vdev it must have the same ashift as the normal pool vdevs. This could perhaps be lifted in the future (i.e. for the case where there is ample space in any surviving special class vdevs) Reviewed-by: Matthew Ahrens <[email protected]> Reviewed-by: Brian Behlendorf <[email protected]> Signed-off-by: Don Brady <[email protected]> Closes openzfs#9363 Closes openzfs#9364 Closes openzfs#11053
sempervictus
pushed a commit
to sempervictus/zfs
that referenced
this pull request
May 31, 2021
The removal of a vdev in the normal class would fail if there was a special or deup vdev that had a different ashift than the vdevs in the normal class. Moved the initialization of spa_min_ashift / spa_max_ashift from vdev_open so that it occurs after the vdev allocation bias was initialized (i.e. after vdev_load). Caveat -- In order to remove a special/dedup vdev it must have the same ashift as the normal pool vdevs. This could perhaps be lifted in the future (i.e. for the case where there is ample space in any surviving special class vdevs) Reviewed-by: Matthew Ahrens <[email protected]> Reviewed-by: Brian Behlendorf <[email protected]> Signed-off-by: Don Brady <[email protected]> Closes openzfs#9363 Closes openzfs#9364 Closes openzfs#11053
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation and Context
The removal of a vdev in the normal class would fail if there was a
special
ordeup
vdev that had a differentashift
than the vdevs in thenormal
class.Addresses issue #9363 and issue #9364
Description
Moved the initialization of
spa_min_ashift
/spa_max_ashift
fromvdev_open
so that it occurs after the vdev allocation bias was initialized (i.e. aftervdev_load
).Caveat -- In order to remove a special/dedup vdev it must have the same
ashift
as the normal pool vdevs.This could perhaps be lifted in the future (i.e. for the case where there is ample space in any surviving special class vdevs).
How Has This Been Tested?
ZTS -- ran functional tests for alloc_class and removal.
ztest runs
Manual run of failure case:
Types of changes
Checklist:
Signed-off-by
.