-
Notifications
You must be signed in to change notification settings - Fork 181
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
Allow partial repeat of readdir
response
#965
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice!
Thanks for adding the new test case. I think it can be easily adapted to cover some edge cases (see comment).
Do you think this deserves a new changelog entry?
6879eb4
to
e2680a2
Compare
Signed-off-by: Vladislav Volodkin <[email protected]>
Signed-off-by: Vladislav Volodkin <[email protected]>
Signed-off-by: Vladislav Volodkin <[email protected]>
Signed-off-by: Vladislav Volodkin <[email protected]>
Signed-off-by: Vlad Volodkin <[email protected]>
Signed-off-by: Vlad Volodkin <[email protected]>
Signed-off-by: Vlad Volodkin <[email protected]>
61980fd
to
c457347
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
Description of change
When user application gets interrupted in a
readdir
syscall the underlying chain ofreaddir
fuse requests gets reset to an offset which is considered stale by Mountpoint. In that case Mountpoint still completes the interruptedreaddir
request, but kernel partially discards the response. We already cache the last response, so we can use it to serve the request which follows the interrupt.Relevant issues: #955
Does this change impact existing behavior?
This is not a breaking change. Previously an error was returned, now it'll be handled properly.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license and I agree to the terms of the Developer Certificate of Origin (DCO).