Workaround for 'zfs diff' shares error #1922
Closed
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.
For some reason which is not yet fully explained it's possible for
stat64() to fail with EIO on the .zfs/shares directory. This then
causes the entire 'zfs diff' command to fail even though the shares
directory is not needed.
Until the root cause of the stat64() failure can be determined a
viable work around is to explicitly set the di->shares inode
number. The Linux .zfs directory implementation will always use
the same well known inode numbers for the top level directories.
Obtaining the number through stat64() is cleaner, but in case that
fails it can be safely assigned based on the known constant.
Signed-off-by: Brian Behlendorf [email protected]
Issue #1426
Issue #481