From: Yehuda Sadeh Date: Fri, 30 Sep 2016 05:20:10 +0000 (-0700) Subject: rgw: multipart part copy, fix regression X-Git-Tag: v10.2.7~22^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F13219%2Fhead;p=ceph.git rgw: multipart part copy, fix regression Signed-off-by: Yehuda Sadeh (cherry picked from commit 66fbe9384703c004c01783eb664f55895d310439) Signed-off-by: Matt Benjamin --- diff --git a/src/rgw/rgw_common.h b/src/rgw/rgw_common.h index a2b952e3bc8..645f236f3f3 100644 --- a/src/rgw/rgw_common.h +++ b/src/rgw/rgw_common.h @@ -1314,8 +1314,6 @@ struct req_state { string req_id; string trans_id; - const char *copy_source; - req_state(CephContext* _cct, RGWEnv* e, RGWUserInfo* u); ~req_state(); }; diff --git a/src/rgw/rgw_rest_s3.cc b/src/rgw/rgw_rest_s3.cc index 1ed8d2082d0..933d604d5db 100644 --- a/src/rgw/rgw_rest_s3.cc +++ b/src/rgw/rgw_rest_s3.cc @@ -3168,16 +3168,16 @@ int RGWHandler_REST_S3::init(RGWRados *store, struct req_state *s, s->has_acl_header = s->info.env->exists_prefix("HTTP_X_AMZ_GRANT"); - if (!s->info.env->get("HTTP_X_AMZ_COPY_SOURCE_RANGE") && - s->info.env->get("HTTP_X_AMZ_COPY_SOURCE")) { - - ret = RGWCopyObj::parse_copy_location(s->copy_source, - s->init_state.src_bucket, - s->src_object); - if (!ret) { - ldout(s->cct, 0) << "failed to parse copy location" << dendl; - return -EINVAL; // XXX why not -ERR_INVALID_BUCKET_NAME or -ERR_BAD_URL? - } + const char *copy_source = s->info.env->get("HTTP_X_AMZ_COPY_SOURCE"); + + if (copy_source && !s->info.env->get("HTTP_X_AMZ_COPY_SOURCE_RANGE")) { + ret = RGWCopyObj::parse_copy_location(copy_source, + s->init_state.src_bucket, + s->src_object); + if (!ret) { + ldout(s->cct, 0) << "failed to parse copy location" << dendl; + return -EINVAL; // XXX why not -ERR_INVALID_BUCKET_NAME or -ERR_BAD_URL? + } } return RGWHandler_REST::init(store, s, cio);