From: Casey Bodley Date: Mon, 7 Nov 2016 15:58:50 +0000 (-0500) Subject: rgw: remove circular reference in RGWAsyncRadosRequest X-Git-Tag: v11.1.0~167^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=7f670c0ea5de7c6969e1d332824d80c55c8d6af0;p=ceph.git rgw: remove circular reference in RGWAsyncRadosRequest RGWAsyncRadosRequest does not need a reference to its calling coroutine, it only needs the completion notifier. this eliminates a circular reference between RGWAsyncRadosRequest and the coroutines that create them Fixes: http://tracker.ceph.com/issues/17792 Fixes: http://tracker.ceph.com/issues/17793 Signed-off-by: Casey Bodley --- diff --git a/src/rgw/rgw_cr_rados.h b/src/rgw/rgw_cr_rados.h index ad13ccd90897..99cd68f7f44a 100644 --- a/src/rgw/rgw_cr_rados.h +++ b/src/rgw/rgw_cr_rados.h @@ -22,11 +22,9 @@ public: RGWAsyncRadosRequest(RGWCoroutine *_caller, RGWAioCompletionNotifier *_cn) : caller(_caller), notifier(_cn), retcode(0), done(false), lock("RGWAsyncRadosRequest::lock") { notifier->get(); - caller->get(); } virtual ~RGWAsyncRadosRequest() { notifier->put(); - caller->put(); } void send_request() {