]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: fix manager selection when APIs customized 9245/head
authorRobin H. Johnson <robin.johnson@dreamhost.com>
Fri, 20 May 2016 23:00:33 +0000 (16:00 -0700)
committerRobin H. Johnson <robin.johnson@dreamhost.com>
Fri, 27 May 2016 18:22:11 +0000 (11:22 -0700)
When modifying rgw_enable_apis per RGW instance, such as for staticsites, you
can end up with RESTManager instance being null in some cases, which returns a
HTTP 405 MethodNotAllowed to all requests.

Example configuration to trigger the bug:
rgw_enable_apis = s3website

Backport: jewel
X-Note: Patch from Yehuda in private IRC discussion, 2016/05/20.
Fixes: http://tracker.ceph.com/issues/15973
Fixes: http://tracker.ceph.com/issues/15974
Signed-off-by: Robin H. Johnson <robin.johnson@dreamhost.com>
(cherry picked from commit 7c7a465b55f7100eab0f140bf54f9420abd1c776)

src/rgw/rgw_rest.cc

index a165b65692f6fde293585b60d52406e3d3e761bf..538d5c7d419971f2e939528b77ccdfc517a85f1f 100644 (file)
@@ -1539,9 +1539,6 @@ RGWRESTMgr *RGWRESTMgr::get_resource_mgr(struct req_state *s, const string& uri,
 {
   *out_uri = uri;
 
-  if (resources_by_size.empty())
-    return this;
-
   multimap<size_t, string>::reverse_iterator iter;
 
   for (iter = resources_by_size.rbegin(); iter != resources_by_size.rend(); ++iter) {