]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: should delete in_stream_req if conn->get_obj(...) return not zero value 9950/head
authorweiqiaomiao <wei.qiaomiao@zte.com.cn>
Mon, 27 Jun 2016 11:40:13 +0000 (19:40 +0800)
committerweiqiaomiao <wei.qiaomiao@zte.com.cn>
Mon, 4 Jul 2016 01:07:21 +0000 (09:07 +0800)
Signed-off-by: weiqiaomiao <wei.qiaomiao@zte.com.cn>
src/rgw/rgw_rest_conn.cc

index ead41394f47a33cee9425d44c2de0f8e89f51831..509df4ee280d830e9829ff396058e35c3acb4dec 100644 (file)
@@ -163,7 +163,13 @@ int RGWRESTConn::get_obj(const rgw_user& uid, req_info *info /* optional */, rgw
     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<string, string>& attrs)