summaryrefslogtreecommitdiff
path: root/swift/common/middleware/s3api/controllers/multi_upload.py
diff options
context:
space:
mode:
Diffstat (limited to 'swift/common/middleware/s3api/controllers/multi_upload.py')
-rw-r--r--swift/common/middleware/s3api/controllers/multi_upload.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/swift/common/middleware/s3api/controllers/multi_upload.py b/swift/common/middleware/s3api/controllers/multi_upload.py
index 91240a915..5f511a621 100644
--- a/swift/common/middleware/s3api/controllers/multi_upload.py
+++ b/swift/common/middleware/s3api/controllers/multi_upload.py
@@ -172,6 +172,15 @@ class PartController(Controller):
req.headers['Range'] = rng
del req.headers['X-Amz-Copy-Source-Range']
+ if 'X-Amz-Copy-Source' in req.headers:
+ # Clear some problematic headers that might be on the source
+ req.headers.update({
+ sysmeta_header('object', 'etag'): '',
+ 'X-Object-Sysmeta-Swift3-Etag': '', # for legacy data
+ 'X-Object-Sysmeta-Slo-Etag': '',
+ 'X-Object-Sysmeta-Slo-Size': '',
+ 'X-Object-Sysmeta-Container-Update-Override-Etag': '',
+ })
resp = req.get_response(self.app)
if 'X-Amz-Copy-Source' in req.headers: