diff options
author | Yehuda Sadeh <yehuda@inktank.com> | 2013-10-21 18:02:32 -0700 |
---|---|---|
committer | Yehuda Sadeh <yehuda@inktank.com> | 2013-10-21 18:02:32 -0700 |
commit | ccaab2abf9e49ce3e50c15df793a3a3ca6b29bb8 (patch) | |
tree | 16745920ab5fe8041f72832443c80f954ee536c4 | |
parent | db7eb771226beaa2372ef5860ce742cb3457cd89 (diff) | |
download | ceph-ccaab2abf9e49ce3e50c15df793a3a3ca6b29bb8.tar.gz |
rgw: init src_bucket_name, src_object in the S3 handlerwip-6606
Be consistent and initialize these fields also in the S3 case.
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
-rw-r--r-- | src/rgw/rgw_rest_s3.cc | 21 | ||||
-rw-r--r-- | src/rgw/rgw_rest_swift.cc | 8 |
2 files changed, 13 insertions, 16 deletions
diff --git a/src/rgw/rgw_rest_s3.cc b/src/rgw/rgw_rest_s3.cc index b8fd8aa4093..1b44168d72e 100644 --- a/src/rgw/rgw_rest_s3.cc +++ b/src/rgw/rgw_rest_s3.cc @@ -1254,18 +1254,8 @@ int RGWCopyObj_ObjStore_S3::get_params() if_match = s->info.env->get("HTTP_X_AMZ_COPY_IF_MATCH"); if_nomatch = s->info.env->get("HTTP_X_AMZ_COPY_IF_NONE_MATCH"); - const char *req_src = s->copy_source; - if (!req_src) { - ldout(s->cct, 0) << "copy source is NULL" << dendl; - return -EINVAL; - } - - ret = parse_copy_location(req_src, src_bucket_name, src_object); - if (!ret) { - ldout(s->cct, 0) << "failed to parse copy location" << dendl; - return -EINVAL; - } - + src_bucket_name = s->src_bucket_name; + src_object = s->src_object; dest_bucket_name = s->bucket.name; dest_object = s->object_str; @@ -2015,6 +2005,13 @@ int RGWHandler_ObjStore_S3::init(RGWRados *store, struct req_state *s, RGWClient s->has_acl_header = s->info.env->exists_prefix("HTTP_X_AMZ_GRANT"); s->copy_source = s->info.env->get("HTTP_X_AMZ_COPY_SOURCE"); + if (s->copy_source) { + ret = RGWCopyObj::parse_copy_location(s->copy_source, s->src_bucket_name, s->src_object); + if (!ret) { + ldout(s->cct, 0) << "failed to parse copy location" << dendl; + return -EINVAL; + } + } s->dialect = "s3"; diff --git a/src/rgw/rgw_rest_swift.cc b/src/rgw/rgw_rest_swift.cc index eba16d86899..95d54aef3f9 100644 --- a/src/rgw/rgw_rest_swift.cc +++ b/src/rgw/rgw_rest_swift.cc @@ -864,8 +864,8 @@ int RGWHandler_ObjStore_SWIFT::init(RGWRados *store, struct req_state *s, RGWCli s->copy_source = s->info.env->get("HTTP_X_COPY_FROM"); if (s->copy_source) { - ret = RGWCopyObj::parse_copy_location(s->copy_source, s->src_bucket_name, s->src_object); - if (!ret) + bool result = RGWCopyObj::parse_copy_location(s->copy_source, s->src_bucket_name, s->src_object); + if (!result) return -ERR_BAD_URL; } @@ -878,8 +878,8 @@ int RGWHandler_ObjStore_SWIFT::init(RGWRados *store, struct req_state *s, RGWCli string dest_bucket_name; string dest_object; - ret = RGWCopyObj::parse_copy_location(req_dest, dest_bucket_name, dest_object); - if (!ret) + bool result = RGWCopyObj::parse_copy_location(req_dest, dest_bucket_name, dest_object); + if (!result) return -ERR_BAD_URL; if (dest_bucket_name != s->bucket_name_str) { |