]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
RGW | fixed enqueueing the overwritten object for gc wip-73090-tentacle
authorAli Masarwa <amasarwa@redhat.com>
Tue, 12 Aug 2025 12:15:23 +0000 (15:15 +0300)
committerCasey Bodley <cbodley@redhat.com>
Tue, 17 Feb 2026 20:25:30 +0000 (15:25 -0500)
Signed-off-by: Ali Masarwa <amasarwa@redhat.com>
(cherry picked from commit 69353cfe247f3757853c1964f1b607b2a4952d94)

src/rgw/driver/rados/rgw_rados.cc

index b3e37f569de233c9b152a587f347c8d7b76f7d4f..78466e4d74b4d1c374c4940ebc10c1dc4cb666f2 100644 (file)
@@ -3258,9 +3258,8 @@ int RGWRados::Object::Write::_do_write_meta(uint64_t size, uint64_t accounted_si
     ptag = index_op->get_optag();
   }
 
-  r = target->get_state(rctx.dpp, &target->state, &target->manifest, false, rctx.y);
-  if (r < 0)
-    return r;
+  target->manifest = manifest;
+  target->state = state;
   RGWObjState* current_state = target->state;
   if (!target->obj.key.instance.empty()) {
     r = target->get_current_version_state(rctx.dpp, current_state, rctx.y);
@@ -6029,6 +6028,9 @@ int RGWRados::bucket_suspended(const DoutPrefixProvider *dpp, rgw_bucket& bucket
 
 int RGWRados::Object::complete_atomic_modification(const DoutPrefixProvider *dpp, bool keep_tail, optional_yield y)
 {
+  int r = get_state(dpp, &state, &manifest, false, y);
+  if (r < 0)
+    return r;
   if ((!manifest) || keep_tail)
     return 0;