]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: append obj: prevent tail from being GC'ed 36390/head
authorAbhishek Lekshmanan <abhishek@suse.com>
Mon, 24 Feb 2020 14:32:01 +0000 (15:32 +0100)
committerNathan Cutler <ncutler@suse.com>
Fri, 31 Jul 2020 10:49:30 +0000 (12:49 +0200)
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 <abhishek@suse.com>
(cherry picked from commit 2dad52a18f889cca4309e78a88c6c5c2c04d4947)

src/rgw/rgw_putobj_processor.cc

index 6ab11554531cdc66dfba8f335d0256b8193d4991..f3ef5d7c54c5a40aa411b8876d635b2d13a0527c 100644 (file)
@@ -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);