Use ensure_last_os_error()
with libfuse2
#218
Merged
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.
Under some conditions,
fuse_mount_compat25
may return -1 to indicatean error but does not set errno.
io::Error::last_os_error()
will thenbe equivalent to
Err(Success)
which is somewhat surprising.In particular, if the mount options
auto_unmount,allow_{root,other}
are set but the user does not have
user_allow_other
set in theirfuse.conf
, thefusermount
binary will print an error message tostderr but not set errno.
fusermount3
has the same behaviour, but this issue was mitigated forthe libfuse3 binding in #178 by mapping
Err(Success)
tothe slightly more useful
Error(Other, "Unspecified Error")
. Thiscommit applies the same fix to the libfuse2 binding.