]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
get barbican secret key request return error code 33965/head
authorRichard Bai(白学余) <baixueyu@inspur.com>
Tue, 13 Aug 2019 13:16:49 +0000 (21:16 +0800)
committerNathan Cutler <ncutler@suse.com>
Sat, 14 Mar 2020 11:28:00 +0000 (12:28 +0100)
Signed-off-by: Richard Bai(白学余) <baixueyu@inspur.com>
(cherry picked from commit fbe2be57474df43996dd45bf04d1a1137a02c729)

Conflicts:
src/rgw/rgw_http_client.cc
- nautilus uses Mutex::Locker instead of std::lock_guard

src/rgw/rgw_http_client.cc
src/rgw/rgw_http_client.h

index bb14e03fd3336a5010d60e10eba0469193a5b930..dfa5d87524aa9bfc61f5abfafe81ddc432010abc 100644 (file)
@@ -86,8 +86,13 @@ struct rgw_http_req_data : public RefCountedObject {
 
   void set_state(int bitmask);
 
-  void finish(int r) {
+  void finish(int r, long http_status = -1) {
     Mutex::Locker l(lock);
+    if (http_status != -1) {
+      if (client) {
+        client->set_http_status(http_status);
+      }
+    }
     ret = r;
     if (curl_handle)
       do_curl_easy_cleanup(curl_handle);
@@ -114,7 +119,7 @@ struct rgw_http_req_data : public RefCountedObject {
     Mutex::Locker l(lock);
     return ret;
   }
-
+  
   RGWHTTPManager *get_manager() {
     Mutex::Locker l(lock);
     return mgr;
@@ -853,9 +858,9 @@ void RGWHTTPManager::_complete_request(rgw_http_req_data *req_data)
   req_data->put();
 }
 
-void RGWHTTPManager::finish_request(rgw_http_req_data *req_data, int ret)
+void RGWHTTPManager::finish_request(rgw_http_req_data *req_data, int ret, long http_status)
 {
-  req_data->finish(ret);
+  req_data->finish(ret, http_status);
   complete_request(req_data);
 }
 
@@ -1171,7 +1176,7 @@ void *RGWHTTPManager::reqs_thread_entry()
           status = -EAGAIN;
         }
         int id = req_data->id;
-       finish_request(req_data, status);
+       finish_request(req_data, status, http_status);
         switch (result) {
           case CURLE_OK:
             break;
index d519fbb8ca774a7da3e5a5aaf8bae7fff2c27fba..eabe8a8519d7f226248257fc02d43eaa2aed3d46 100644 (file)
@@ -175,6 +175,10 @@ public:
     return http_status;
   }
 
+  void set_http_status(long _http_status) {
+    http_status = _http_status;
+  }
+
   void set_verify_ssl(bool flag) {
     verify_ssl = flag;
   }
@@ -324,7 +328,7 @@ class RGWHTTPManager {
   bool unregister_request(rgw_http_req_data *req_data);
   void _unlink_request(rgw_http_req_data *req_data);
   void unlink_request(rgw_http_req_data *req_data);
-  void finish_request(rgw_http_req_data *req_data, int r);
+  void finish_request(rgw_http_req_data *req_data, int r, long http_status = -1);
   void _finish_request(rgw_http_req_data *req_data, int r);
   void _set_req_state(set_state& ss);
   int link_request(rgw_http_req_data *req_data);