]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
rgw: keep track of spawned coroutines under the current op
authorYehuda Sadeh <yehuda@redhat.com>
Tue, 18 Aug 2015 18:57:27 +0000 (11:57 -0700)
committerYehuda Sadeh <yehuda@redhat.com>
Tue, 9 Feb 2016 21:40:55 +0000 (13:40 -0800)
commit68fd306b43d9402f05ced76ce6d31bb246001e78
tree3f9cf3ad74478c6d5e2fae2e5f56e5476e4cce02
parent48587f0247642d4f845f1bc8638c2681e4b7b186
rgw: keep track of spawned coroutines under the current op

instead of keeping a per-stack list of spawned coroutines, keep it
on the op that spawned it. Otherwise, we might spawn a cr, call a second
one that will spawn some crs, and when waiting for these to complete
it will also wait on the first one.
The list of spawned coroutines is inherited. Once a coroutine finishes
its parent will take over all the spawned ones that weren't collected.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
src/rgw/rgw_coroutine.cc
src/rgw/rgw_coroutine.h
src/rgw/rgw_sync.cc