diff options
author | Josh Durgin <josh.durgin@inktank.com> | 2013-08-12 19:17:09 -0700 |
---|---|---|
committer | Sage Weil <sage@inktank.com> | 2013-08-14 09:50:12 -0700 |
commit | 7a52e2ff5025754f3040eff3fc52d4893cafc389 (patch) | |
tree | f6dbd1d3d52bba43f86ea65813bd1a01685b6dda /src/fetch_config | |
parent | 8ff6901141c9dc89ca93d749989f556aaedc65b4 (diff) | |
download | ceph-7a52e2ff5025754f3040eff3fc52d4893cafc389.tar.gz |
librados: fix locking for AioCompletionImpl refcounting
Add an already-locked helper so that C_Aio{Safe,Complete} can
increment the reference count when their caller holds the
lock. C_AioCompleteAndSafe's caller is not holding the lock, so call
regular get() to ensure no racing updates can occur.
This eliminates all direct manipulations of AioCompletionImpl->ref,
and makes the necessary locking clear.
The only place C_AioCompleteAndSafe is used is in handling
aio_flush_async(). This could cause a missing completion.
Refs: #5919
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
Tested-by: Oliver Francke <Oliver.Francke@filoo.de>
Diffstat (limited to 'src/fetch_config')
0 files changed, 0 insertions, 0 deletions