From a959a45d3ea83c974dc96ec7f6263101b8fb15bf Mon Sep 17 00:00:00 2001 From: yuliyang Date: Thu, 30 Nov 2017 17:37:32 +0800 Subject: [PATCH] rgw: fix s3 website redirection error Signed-off-by: yuliyang --- src/rgw/rgw_common.cc | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/src/rgw/rgw_common.cc b/src/rgw/rgw_common.cc index 56a354a3faaf..d4d4c40c69fd 100644 --- a/src/rgw/rgw_common.cc +++ b/src/rgw/rgw_common.cc @@ -303,14 +303,13 @@ req_state::~req_state() { delete formatter; } -bool search_err(rgw_http_errors& errs, int err_no, bool is_website_redirect, int& http_ret, string& code) +bool search_err(rgw_http_errors& errs, int err_no, int& http_ret, string& code) { auto r = errs.find(err_no); if (r != errs.end()) { - if (! is_website_redirect) - http_ret = r->second.first; - code = r->second.second; - return true; + http_ret = r->second.first; + code = r->second.second; + return true; } return false; } @@ -323,17 +322,14 @@ void set_req_state_err(struct rgw_err& err, /* out */ err_no = -err_no; err.ret = -err_no; - bool is_website_redirect = false; if (prot_flags & RGW_REST_SWIFT) { - if (search_err(rgw_http_swift_errors, err_no, is_website_redirect, err.http_ret, err.err_code)) + if (search_err(rgw_http_swift_errors, err_no, err.http_ret, err.err_code)) return; } //Default to searching in s3 errors - is_website_redirect |= (prot_flags & RGW_REST_WEBSITE) - && err_no == ERR_WEBSITE_REDIRECT && err.is_clear(); - if (search_err(rgw_http_s3_errors, err_no, is_website_redirect, err.http_ret, err.err_code)) + if (search_err(rgw_http_s3_errors, err_no, err.http_ret, err.err_code)) return; dout(0) << "WARNING: set_req_state_err err_no=" << err_no << " resorting to 500" << dendl; -- 2.47.3