From: Casey Bodley Date: Thu, 30 Jan 2020 20:11:42 +0000 (-0500) Subject: rgw: MultipartObjectProcessor supports stripe size > chunk size X-Git-Tag: v14.2.10~222^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=7a431cbad8b2f77bcd6bb1245c777c3e72c52c35;p=ceph.git 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 (cherry picked from commit 39d1ad6713aaa56307c6710c2cb46ff0b4254b8b) --- diff --git a/src/rgw/rgw_putobj_processor.cc b/src/rgw/rgw_putobj_processor.cc index 7b3a9754a492..7e665f99ef32 100644 --- a/src/rgw/rgw_putobj_processor.cc +++ b/src/rgw/rgw_putobj_processor.cc @@ -391,12 +391,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; }