From: Abhishek Lekshmanan Date: Mon, 24 Feb 2020 14:32:01 +0000 (+0100) Subject: rgw: append obj: prevent tail from being GC'ed X-Git-Tag: v14.2.12~131^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=1a9639889e2337df3250a9a3e1fd9baac11eeb73;p=ceph.git rgw: append obj: prevent tail from being GC'ed append object tail gets GC'ed otherwise as the state has a manifest similar to atomic obj processor, but if the manifest exists and the position is correct, it is not an overwrite and shouldn't be GC'ed Fixes: https://tracker.ceph.com/issues/42670 Signed-off-by: Abhishek Lekshmanan (cherry picked from commit 2dad52a18f889cca4309e78a88c6c5c2c04d4947) --- diff --git a/src/rgw/rgw_putobj_processor.cc b/src/rgw/rgw_putobj_processor.cc index 6ab11554531c..f3ef5d7c54c5 100644 --- a/src/rgw/rgw_putobj_processor.cc +++ b/src/rgw/rgw_putobj_processor.cc @@ -564,6 +564,7 @@ int AppendObjectProcessor::prepare() } cur_manifest = &astate->manifest; manifest.set_prefix(cur_manifest->get_prefix()); + astate->keep_tail = true; } manifest.set_multipart_part_rule(store->ctx()->_conf->rgw_obj_stripe_size, cur_part_num);