]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: remove keep_tail from RGWObjState
authorJane Zhu <jzhu116@bloomberg.net>
Wed, 2 Apr 2025 15:53:47 +0000 (15:53 +0000)
committerYuri Weinstein <yweinste@redhat.com>
Fri, 4 Apr 2025 17:46:12 +0000 (17:46 +0000)
Signed-off-by: Jane Zhu <jzhu116@bloomberg.net>
(cherry picked from commit fd76b6466c298121994ba65cce3c0e76f8568841)

Conflicts:
src/rgw/rgw_sal_store.h RGWObjState is in rgw_sal.h on reef
(cherry picked from commit b94fcdfb6a2e01fd471e8c6ebd34145bebb78e20)

src/rgw/driver/dbstore/common/dbstore.h
src/rgw/driver/rados/rgw_putobj_processor.cc
src/rgw/driver/rados/rgw_putobj_processor.h
src/rgw/driver/rados/rgw_rados.cc
src/rgw/rgw_sal.cc
src/rgw/rgw_sal.h

index b26cc116e82dc01852c877c4bd0944a04fb024e3..7ce3e94bd5b2fa82945802cc5e3d0f6ad0d56015 100644 (file)
@@ -518,7 +518,7 @@ class DBOp {
        *
        * - RGWObjState. Below are omitted from that struct
        *    as they seem in-memory variables
-       *    * is_atomic, has_atts, exists, prefetch_data, keep_tail, 
+       *    * is_atomic, has_atts, exists, prefetch_data, 
        * - RGWObjManifest
        *
        * Extra field added "IsMultipart" to flag multipart uploads,
index 712cb311b68ab883b651be12393b1bcbc89836de..6d19129f39bc108080caaf8048fb2251be151a28 100644 (file)
@@ -667,7 +667,7 @@ int AppendObjectProcessor::prepare(optional_yield y)
       tail_placement_rule.storage_class = RGW_STORAGE_CLASS_STANDARD;
     }
     manifest.set_prefix(cur_manifest->get_prefix());
-    astate->keep_tail = true;
+    keep_tail = true;
   }
   manifest.set_multipart_part_rule(store->ctx()->_conf->rgw_obj_stripe_size, cur_part_num);
 
@@ -733,6 +733,7 @@ int AppendObjectProcessor::complete(size_t accounted_size, const string &etag, c
   obj_op.meta.user_data = user_data;
   obj_op.meta.zones_trace = zones_trace;
   obj_op.meta.modify_tail = true;
+  obj_op.meta.keep_tail = keep_tail;
   obj_op.meta.appendable = true;
   //Add the append part number
   bufferlist cur_part_num_bl;
index b1946c0492cc1e4f65f7a21efcdd210d9216ca95..a36c67911e81712f5bf45c1349a940017c3a91c9 100644 (file)
@@ -254,6 +254,7 @@ class MultipartObjectProcessor : public ManifestObjectProcessor {
     uint64_t *cur_accounted_size;
     std::string cur_etag;
     const std::string unique_tag;
+    bool keep_tail;
 
     RGWObjManifest *cur_manifest;
 
@@ -271,7 +272,7 @@ class MultipartObjectProcessor : public ManifestObjectProcessor {
             : ManifestObjectProcessor(aio, store, bucket_info, ptail_placement_rule,
                                       owner, obj_ctx, _head_obj, dpp, y),
               position(position), cur_size(0), cur_accounted_size(cur_accounted_size),
-              unique_tag(unique_tag), cur_manifest(nullptr)
+              unique_tag(unique_tag), keep_tail(false), cur_manifest(nullptr)
     {}
     int prepare(optional_yield y) override;
     int complete(size_t accounted_size, const std::string& etag,
index b1b43dbc3179ef56cd33bfc2ad59769d81923421..31918add52dfb88c8338ef5b633b508d896fbbe7 100644 (file)
@@ -4596,8 +4596,6 @@ int RGWRados::copy_obj(RGWObjectCtx& src_obj_ctx,
     pmanifest = &manifest;
   } else {
     pmanifest = amanifest;
-    /* don't send the object's tail for garbage collection */
-    astate->keep_tail = true;
   }
 
   if (copy_first) {
@@ -5002,7 +5000,7 @@ int RGWRados::bucket_suspended(const DoutPrefixProvider *dpp, rgw_bucket& bucket
 
 int RGWRados::Object::complete_atomic_modification(const DoutPrefixProvider *dpp, bool keep_tail)
 {
-  if ((!manifest) || state->keep_tail || keep_tail)
+  if ((!manifest) || keep_tail)
     return 0;
 
   cls_rgw_obj_chain chain;
index 58a21f707f58eb9e682b432b0b986b0a5cc7379e..a4d49eac3752a35458d895665815bea37da0f015 100644 (file)
@@ -85,7 +85,6 @@ RGWObjState::RGWObjState(const RGWObjState& rhs) : obj (rhs.obj) {
     data = rhs.data;
   }
   prefetch_data = rhs.prefetch_data;
-  keep_tail = rhs.keep_tail;
   is_olh = rhs.is_olh;
   objv_tracker = rhs.objv_tracker;
   pg_ver = rhs.pg_ver;
index 50fe30c6bd81509da0830e578d101a70708c1645..54820a1a6074d18185829d7c95242e91e8c9b033 100644 (file)
@@ -119,7 +119,6 @@ struct RGWObjState {
   bool has_data{false};
   bufferlist data;
   bool prefetch_data{false};
-  bool keep_tail{false};
   bool is_olh{false};
   bufferlist olh_tag;
   uint64_t pg_ver{false};