Skip to content
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

[DNM] librbd: avoid blocking AIO API methods #4364

Closed
wants to merge 8 commits into from

Conversation

dillaman
Copy link

Jason Dillaman added 8 commits April 14, 2015 13:57
The queue holds a collection of Context pointers that will
be completed by the thread pool.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Add preliminary support for queuing incoming AIO requests
into a work queue to avoid blocking the client.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Enqueue all AIO API methods within the new librbd thread pool to
reduce the possibility of any blocking operations. This change alters
the potential return codes from the AIO API methods.  Legacy errors
such as -EROFS, -ENOENT, etc will now be returned via the provided
completion and aio_read will no longer return the number of bytes read.

Fixes: #11056
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Helper method to handle passing fatal errors generated within
librbd (not from the OSDs) back to the client.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Allow the client of SimpleThrottle to detect an async error
so that it can exit early.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 2cc5f8a)
All failures should be returned via the AioCompletion.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
@dillaman dillaman added this to the firefly milestone Apr 14, 2015
@ghost
Copy link

ghost commented Apr 17, 2015

@dillaman is it still DNM ?

@jdurgin
Copy link
Member

jdurgin commented Apr 17, 2015

Still DNM - not in master yet

@dillaman
Copy link
Author

dillaman commented Jun 3, 2015

This has diverged somewhat from the final implementation in master -- closing.

@dillaman dillaman closed this Jun 3, 2015
@dillaman dillaman deleted the wip-11056-firefly branch June 3, 2015 15:31
@dillaman
Copy link
Author

dillaman commented Jun 4, 2015

Replaced by PR #4854

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants