From: Casey Bodley Date: Thu, 4 May 2017 18:13:01 +0000 (-0400) Subject: Merge pull request #9950 from weiqiaomiao/wqm-wip-fetchobj-req X-Git-Tag: v12.0.3~88 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=ff724c949839b6c23af9e26d25bb6221b1bb1ea7;p=ceph.git Merge pull request #9950 from weiqiaomiao/wqm-wip-fetchobj-req rgw: should delete in_stream_req if conn->get_obj(...) return not zero value Reviewed-by: Casey Bodley --- ff724c949839b6c23af9e26d25bb6221b1bb1ea7 diff --cc src/rgw/rgw_rest_conn.cc index 22534d8656de,509df4ee280d..71a11554d2ce --- a/src/rgw/rgw_rest_conn.cc +++ b/src/rgw/rgw_rest_conn.cc @@@ -203,13 -163,18 +203,19 @@@ int RGWRESTConn::get_obj(const rgw_user set_header(mod_pg_ver, extra_headers, "HTTP_DEST_PG_VER"); } - return (*req)->get_obj(key, extra_headers, obj); + int r = (*req)->get_obj(key, extra_headers, obj); + if (r < 0) { + delete *req; + *req = nullptr; + } + + return r; } -int RGWRESTConn::complete_request(RGWRESTStreamReadRequest *req, string& etag, real_time *mtime, map& attrs) +int RGWRESTConn::complete_request(RGWRESTStreamRWRequest *req, string& etag, real_time *mtime, + uint64_t *psize, map& attrs) { - int ret = req->complete(etag, mtime, attrs); + int ret = req->complete(etag, mtime, psize, attrs); delete req; return ret;