Remove zpool altroot
when creating datasets.
#1018
Open
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.
poudriere
breaks if the zpool it's given to use has thealtroot
property set, as its internal dataset mountpoints are different than the path they were actually mounted on.Specifically, if the zpool has
altroot
set, all mounted datasets will havealtroot
prepended to their mountpoint. When settingBASEFS
, the user would naturally take that into account and includealtroot
in the path. The setting would look something like:BASEFS=<altroot>/rest/of/path
. However, what happens is that theBASEFS
mountpoint is actually<altroot><altroot>/rest/of/path
, whilepoudriere
thinks it's<altroot>/rest/of/path
.To fix the problem, simply check if
altroot
is set and remove it from the mount path at the point of the dataset creation. The dataset will be prepended withaltroot
, which will match the pathpoudriere
knows about.