From efbfe6fced72d07309ccf1f1a219c037b7f535fa Mon Sep 17 00:00:00 2001 From: Radoslaw Zarzynski Date: Sat, 21 Mar 2015 15:53:08 +0100 Subject: [PATCH] rgw: improve metadata handling on copy operation of Swift API. Fixes: #10645 Backport: hammer Signed-off-by: Radoslaw Zarzynski (cherry picked from commit a00cb31cc52e91bfacdd15e0af60be74e66c1996) --- src/rgw/rgw_rest_swift.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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; } -- 2.39.5