From 39d1ad6713aaa56307c6710c2cb46ff0b4254b8b Mon Sep 17 00:00:00 2001 From: Casey Bodley Date: Thu, 30 Jan 2020 15:11:42 -0500 Subject: [PATCH] rgw: MultipartObjectProcessor supports stripe size > chunk size the head object for a multipart part should contain the entire stripe, unlike a normal object where the head only contains the first chunk of data (because it has to be written atomically) Fixes: https://tracker.ceph.com/issues/42669 Signed-off-by: Casey Bodley --- src/rgw/rgw_putobj_processor.cc | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/rgw/rgw_putobj_processor.cc b/src/rgw/rgw_putobj_processor.cc index c2086181dbc22..798af00fed026 100644 --- a/src/rgw/rgw_putobj_processor.cc +++ b/src/rgw/rgw_putobj_processor.cc @@ -393,12 +393,10 @@ int MultipartObjectProcessor::prepare_head() return r; } stripe_size = manifest_gen.cur_stripe_max_size(); - - uint64_t max_head_size = std::min(chunk_size, stripe_size); - set_head_chunk_size(max_head_size); + set_head_chunk_size(stripe_size); chunk = ChunkProcessor(&writer, chunk_size); - stripe = StripeProcessor(&chunk, this, max_head_size); + stripe = StripeProcessor(&chunk, this, stripe_size); return 0; } -- 2.39.5