Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

quincy: rgw: fetch_remote_obj() preserves original part lengths for BlockDecrypt #52818

Merged
merged 7 commits into from Sep 29, 2023

Conversation

cbodley
Copy link
Contributor

@cbodley cbodley commented Aug 4, 2023

backport tracker: https://tracker.ceph.com/issues/62321


backport of #52248
parent tracker: https://tracker.ceph.com/issues/46062

this backport was staged using ceph-backport.sh version 16.0.0.6848
find the latest version at https://github.com/ceph/ceph/blob/main/src/script/ceph-backport.sh

users now call a static read_manifest_parts() function, and pass the
resulting vector into the BlockDecrypt constructor

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit d8a82f5)

Conflicts: no null_yield argument
	src/rgw/rgw_crypt.cc
	src/rgw/rgw_crypt.h
	src/rgw/rgw_rest_s3.cc
	src/test/rgw/test_rgw_crypto.cc
because multisite replicates multipart objects as a single part, we lose
information about the part sizes from the original manifest that is
necessary to correctly decrypt across those part boundaries

on replication, parse the part lengths out of the source object's
manifest, and store them in a separate RGW_ATTR_CRYPT_PARTS for use on
decryption

Fixes: https://tracker.ceph.com/issues/46062

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit e7d98fb)
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 902d074)
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 07d28ba)
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 237fa27)

Conflicts: missing change for PutACL mtime
	src/rgw/rgw_rados.cc
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit e90bfba)

Conflicts:
	src/rgw/rgw_admin.cc missing 'bucket shard' commands, driver->store
	src/rgw/rgw_rados.cc const rgw_obj, get_obj_state manifest arg
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 61cf6ee)
@yuriw yuriw merged commit 7b985d9 into ceph:quincy Sep 29, 2023
10 of 11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants