]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: append obj: prevent tail from being GC'ed 36389/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:48:53 +0000 (12:48 +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 dedb3002bb2f67f13a0e9fbb79359728b71933b7..4ac9ccb017c6926cf84e625d6a51de31a1ad812d 100644 (file)
@@ -566,6 +566,7 @@ int AppendObjectProcessor::prepare(optional_yield y)
     }
     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);