summaryrefslogtreecommitdiff
path: root/src/fetch_config
diff options
context:
space:
mode:
authorSage Weil <sage@inktank.com>2013-08-13 12:52:41 -0700
committerSage Weil <sage@inktank.com>2013-08-14 09:51:01 -0700
commit16ed0b9af8bc08c7dabead1c1a7c1a22b1fb02fb (patch)
tree7a48b9b93b821c47163a3248bd7d735ba12515b0 /src/fetch_config
parent7a52e2ff5025754f3040eff3fc52d4893cafc389 (diff)
downloadceph-16ed0b9af8bc08c7dabead1c1a7c1a22b1fb02fb.tar.gz
librados: fix async aio completion wakeup
For aio flush, we register a wait on the most recent write. The write completion code, however, was *only* waking the waiter if they were waiting on that write, without regard to previous writes (completed or not). For example, we might have 6 and 7 outstanding and wait on 7. If they finish in order all is well, but if 7 finishes first we do the flush completion early. Similarly, if we - start 6 - start 7 - finish 7 - flush; wait on 7 - finish 6 we can hang forever. Fix by doing any completions that are prior to the oldest pending write in the aio write completion handler. Refs: #5919 Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Josh Durgin <josh.durgin@inktank.com> Tested-by: Oliver Francke <Oliver.Francke@filoo.de>
Diffstat (limited to 'src/fetch_config')
0 files changed, 0 insertions, 0 deletions