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

octopus: rbd: librbd: update AioCompletion return value before evaluating pending count #37851

Merged
merged 1 commit into from Oct 29, 2020

Conversation

smithfarm
Copy link
Contributor

backport tracker: https://tracker.ceph.com/issues/47888


backport of #37645
parent tracker: https://tracker.ceph.com/issues/47847

this backport was staged using ceph-backport.sh version 15.1.1.389
find the latest version at https://github.com/ceph/ceph/blob/master/src/script/ceph-backport.sh

…ount

If the pending count is decremented before the return value is updated,
there is a possibility of two ASIO threads concurrently decrementing the
pending count down from 2 -> 1 -> 0. In the second thread (the one that
performs the final decrement from 1 -> 0), it can finalize the completion
before the first thread has had a chance to update the return value.

Fixes: https://tracker.ceph.com/issues/47847
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 94f3bce)
@smithfarm smithfarm added this to the octopus milestone Oct 27, 2020
@smithfarm smithfarm added the rbd label Oct 27, 2020
@smithfarm smithfarm changed the title octopus: librbd: update AioCompletion return value before evaluating pending count octopus: rbd: librbd: update AioCompletion return value before evaluating pending count Oct 27, 2020
Copy link

@dillaman dillaman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@yuriw
Copy link
Contributor

yuriw commented Oct 27, 2020

@yuriw yuriw merged commit d9903d3 into ceph:octopus Oct 29, 2020
@smithfarm smithfarm deleted the wip-47888-octopus branch November 3, 2020 10:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
4 participants