From 9910eac98474930369d694b236c06ffd627fee04 Mon Sep 17 00:00:00 2001 From: Yehuda Sadeh Date: Thu, 29 Sep 2016 22:20:10 -0700 Subject: [PATCH] rgw: multipart part copy, fix regression Signed-off-by: Yehuda Sadeh (cherry picked from commit 66fbe9384703c004c01783eb664f55895d310439) Signed-off-by: Matt Benjamin --- src/rgw/rgw_common.h | 2 -- src/rgw/rgw_rest_s3.cc | 20 ++++++++++---------- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/src/rgw/rgw_common.h b/src/rgw/rgw_common.h index a2b952e3bc8dd..645f236f3f389 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 1ed8d2082d0e8..933d604d5db7b 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); -- 2.39.5