]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: multipart part copy, fix regression
authorYehuda Sadeh <yehuda@redhat.com>
Fri, 30 Sep 2016 05:20:10 +0000 (22:20 -0700)
committerYehuda Sadeh <yehuda@redhat.com>
Fri, 30 Sep 2016 05:20:10 +0000 (22:20 -0700)
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
src/rgw/rgw_common.h
src/rgw/rgw_rest_s3.cc

index fee2f0cd2369ea195abdadfe23bdcb1a6a982917..42a1ec821987266a12180e7370e397d5f5efa6b9 100644 (file)
@@ -1357,8 +1357,6 @@ struct req_state {
   string req_id;
   string trans_id;
 
-  const char *copy_source;
-
   req_state(CephContext* _cct, RGWEnv* e, RGWUserInfo* u);
   ~req_state();
 };
index e360bb9a8724cd391c8da249f5921485fa232484..1ab2eb02b8b8cfbd38890c1dfdc4777f7b3519e0 100644 (file)
@@ -3203,16 +3203,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);