You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As far as I can tell, when using the FUSE transport and unmounting the filesystem with "fusermount3 -u", this results in FuseChannel's get_request method to fail when calling self.poll.poll. This error is then wrapped into a string and returned as a SessionFailure:
This makes it very hard to handle this normal event in a graceful manner. Is there anything I'm missing? Is there any way to detect when this happens other than attempting to parse the error string returned by get_requests?
The text was updated successfully, but these errors were encountered:
nrath-js
added a commit
to nrath-js/fuse-backend-rs
that referenced
this issue
Dec 3, 2024
At the moment, we are indiscriminately returning a SessionFailure("epoll error")
if any of the registered file descriptors would return an error upon read. This
means that the more detailed error handling code below can never be reached.
Instead, attempt to read from fuse device when the device is either
readable *or* has an error state, and then handle the error as we always
intended.
Fixes: cloud-hypervisor#197.
At the moment, we are indiscriminately returning a SessionFailure("epoll error")
if any of the registered file descriptors would return an error upon read. This
means that the more detailed error handling code below can never be reached.
Instead, attempt to read from fuse device when the device is either
readable *or* has an error state, and then handle the error as we always
intended.
Fixes: cloud-hypervisor#197.
As far as I can tell, when using the FUSE transport and unmounting the filesystem with "fusermount3 -u", this results in FuseChannel's
get_request
method to fail when callingself.poll.poll
. This error is then wrapped into a string and returned as aSessionFailure
:https://github.com/cloud-hypervisor/fuse-backend-rs/blob/master/src/transport/fusedev/linux_session.rs#L340
This makes it very hard to handle this normal event in a graceful manner. Is there anything I'm missing? Is there any way to detect when this happens other than attempting to parse the error string returned by
get_requests
?The text was updated successfully, but these errors were encountered: