From: Radoslaw Zarzynski Date: Sat, 21 Mar 2015 14:53:08 +0000 (+0100) Subject: rgw: improve metadata handling on copy operation of Swift API. X-Git-Tag: v0.94.2~5^2 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=efbfe6fced72d07309ccf1f1a219c037b7f535fa;p=ceph.git rgw: improve metadata handling on copy operation of Swift API. Fixes: #10645 Backport: hammer Signed-off-by: Radoslaw Zarzynski (cherry picked from commit a00cb31cc52e91bfacdd15e0af60be74e66c1996) --- diff --git a/src/rgw/rgw_rest_swift.cc b/src/rgw/rgw_rest_swift.cc index 1c948337d3d6b..1d9f7a93d33ce 100644 --- a/src/rgw/rgw_rest_swift.cc +++ b/src/rgw/rgw_rest_swift.cc @@ -592,7 +592,10 @@ int RGWCopyObj_ObjStore_SWIFT::get_params() dest_bucket_name = s->bucket_name_str; dest_object = s->object.name; - if (!s->info.x_meta_map.empty()) { + const char * const fresh_meta = s->info.env->get("HTTP_X_FRESH_METADATA"); + if (fresh_meta && strcasecmp(fresh_meta, "TRUE") == 0) { + attrs_mod = RGWRados::ATTRSMOD_REPLACE; + } else { attrs_mod = RGWRados::ATTRSMOD_MERGE; }