diff options
Diffstat (limited to 'swift/common/middleware/s3api/controllers/multi_upload.py')
-rw-r--r-- | swift/common/middleware/s3api/controllers/multi_upload.py | 9 |
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: |