From: Yehuda Sadeh Date: Tue, 12 Aug 2014 18:17:47 +0000 (-0700) Subject: rgw: call throttle_data() even if renew_state() failed X-Git-Tag: v0.80.8~64^2~9 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=b0d08aab837808f18708a4f8ced0503c0fce2fec;p=ceph.git rgw: call throttle_data() even if renew_state() failed Otherwise we're going to leak the aio callback handle. Signed-off-by: Yehuda Sadeh (cherry picked from commit 7998c322179dd69a1250937321c3c2bb023e0e57) --- diff --git a/src/rgw/rgw_rados.cc b/src/rgw/rgw_rados.cc index 98b80d62d9aa..7be2b48dd2e6 100644 --- a/src/rgw/rgw_rados.cc +++ b/src/rgw/rgw_rados.cc @@ -3033,6 +3033,11 @@ public: */ ret = opstate->renew_state(); if (ret < 0) { + ldout(store->ctx(), 0) << "ERROR: RGWRadosPutObj::handle_data(): failed to renew op state ret=" << ret << dendl; + int r = processor->throttle_data(handle, false); + if (r < 0) { + ldout(store->ctx(), 0) << "ERROR: RGWRadosPutObj::handle_data(): processor->throttle_data() returned " << r << dendl; + } /* could not renew state! might have been marked as cancelled */ return ret; }