]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: MultipartObjectProcessor supports stripe size > chunk size
authorCasey Bodley <cbodley@redhat.com>
Thu, 30 Jan 2020 20:11:42 +0000 (15:11 -0500)
committerNathan Cutler <ncutler@suse.com>
Thu, 13 Feb 2020 13:59:20 +0000 (14:59 +0100)
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 <cbodley@redhat.com>
(cherry picked from commit 39d1ad6713aaa56307c6710c2cb46ff0b4254b8b)

src/rgw/rgw_putobj_processor.cc

index 7b3a9754a49249e5aba8d77c2fb139e726f732a8..7e665f99ef32b45cd1ea211a6b25be5feb50fd4b 100644 (file)
@@ -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;
 }