Multipart upload missing encryption when we have bucket encryption
policy. Fix it by fetching bucket encryption policy and resolving
defaults at multipart init op.
Fixes: https://tracker.ceph.com/issues/59218
Signed-off-by: Tongliang Deng <dengtongliang@gmail.com>
(cherry picked from commit
6d9e4f7924c6149d23919ef82bc09406e1290164)
bufferlist aclbl, tracebl;
rgw::sal::Attrs attrs;
- if (get_params(y) < 0)
+ op_ret = get_params(y);
+ if (op_ret < 0) {
return;
+ }
if (rgw::sal::Object::empty(s->object.get()))
return;
int RGWInitMultipart_ObjStore_S3::get_params(optional_yield y)
{
+ int ret;
+
+ ret = get_encryption_defaults(s);
+ if (ret < 0) {
+ ldpp_dout(this, 5) << __func__ << "(): get_encryption_defaults() returned ret=" << ret << dendl;
+ return ret;
+ }
+
RGWAccessControlPolicy_S3 s3policy(s->cct);
- op_ret = create_s3_policy(s, driver, s3policy, s->owner);
- if (op_ret < 0)
- return op_ret;
+ ret = create_s3_policy(s, driver, s3policy, s->owner);
+ if (ret < 0)
+ return ret;
policy = s3policy;