From: Casey Bodley Date: Thu, 4 May 2017 18:01:35 +0000 (-0400) Subject: Merge pull request #14601 from Jing-Scott/fix-bulkupload-multisite X-Git-Tag: v12.0.3~89 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=9ddbcfd85e6d2d1fdf86b1d0995c344fd40c6946;p=ceph.git Merge pull request #14601 from Jing-Scott/fix-bulkupload-multisite rgw: fix forward request for bulkupload to be applied in multisite Reviewed-by: Casey Bodley Reviewed-by: Radoslaw Zarzynski --- 9ddbcfd85e6d2d1fdf86b1d0995c344fd40c6946 diff --cc src/rgw/rgw_op.cc index 8abea4977a70,8420620a0550..9a3930dcd4b4 --- a/src/rgw/rgw_op.cc +++ b/src/rgw/rgw_op.cc @@@ -56,8 -55,35 +56,10 @@@ using ceph::crypto::MD5 static string mp_ns = RGW_OBJ_NS_MULTIPART; static string shadow_ns = RGW_OBJ_NS_SHADOW; - static int forward_request_to_master(struct req_state *s, obj_version *objv, RGWRados *store, bufferlist& in_data, JSONParser *jp); + static void forward_req_info(CephContext *cct, req_info& info, const std::string& bucket_name); + static int forward_request_to_master(struct req_state *s, obj_version *objv, RGWRados *store, + bufferlist& in_data, JSONParser *jp, req_info *forward_info = nullptr); -#define MULTIPART_UPLOAD_ID_PREFIX_LEGACY "2/" -#define MULTIPART_UPLOAD_ID_PREFIX "2~" // must contain a unique char that may not come up in gen_rand_alpha() - -class MultipartMetaFilter : public RGWAccessListFilter { -public: - MultipartMetaFilter() {} - bool filter(string& name, string& key) override { - int len = name.size(); - if (len < 6) - return false; - - size_t pos = name.find(MP_META_SUFFIX, len - 5); - if (pos == string::npos) - return false; - - pos = name.rfind('.', pos - 1); - if (pos == string::npos) - return false; - - key = name.substr(0, pos); - - return true; - } -}; - static MultipartMetaFilter mp_filter; static int parse_range(const char *range, off_t& ofs, off_t& end, bool *partial_content)