]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
rgw: simplify RGWBucketCtl params with default arguments
authorCasey Bodley <cbodley@redhat.com>
Thu, 18 Jul 2019 20:55:42 +0000 (16:55 -0400)
committerCasey Bodley <cbodley@redhat.com>
Mon, 29 Jul 2019 19:20:50 +0000 (15:20 -0400)
Signed-off-by: Casey Bodley <cbodley@redhat.com>
src/rgw/rgw_bucket.cc
src/rgw/rgw_bucket.h
src/rgw/rgw_reshard.cc

index 08cc385a78f5d62b646c4285558e13c209c95ff5..6e31cb49e4b34aef677d273e4f4e6a25cb478559 100644 (file)
@@ -2999,9 +2999,8 @@ int RGWBucketCtl::call(std::function<int(RGWSI_Bucket_X_Ctx& ctx)> f) {
 int RGWBucketCtl::read_bucket_entrypoint_info(const rgw_bucket& bucket,
                                               RGWBucketEntryPoint *info,
                                               optional_yield y,
-                                              ceph::optional_ref_default<RGWBucketCtl::Bucket::GetParams> _params)
+                                              const Bucket::GetParams& params)
 {
-  auto& params = *_params;
   return bm_handler->call(params.bectx_params, [&](RGWSI_Bucket_EP_Ctx& ctx) {
     return svc.bucket->read_bucket_entrypoint_info(ctx,
                                                    RGWSI_Bucket::get_entrypoint_meta_key(bucket),
@@ -3018,9 +3017,8 @@ int RGWBucketCtl::read_bucket_entrypoint_info(const rgw_bucket& bucket,
 int RGWBucketCtl::store_bucket_entrypoint_info(const rgw_bucket& bucket,
                                                RGWBucketEntryPoint& info,
                                                optional_yield y,
-                                               ceph::optional_ref_default<RGWBucketCtl::Bucket::PutParams> _params)
+                                               const Bucket::PutParams& params)
 {
-  auto& params = *_params;
   return bm_handler->call([&](RGWSI_Bucket_EP_Ctx& ctx) {
     return svc.bucket->store_bucket_entrypoint_info(ctx,
                                                     RGWSI_Bucket::get_entrypoint_meta_key(bucket),
@@ -3035,9 +3033,8 @@ int RGWBucketCtl::store_bucket_entrypoint_info(const rgw_bucket& bucket,
 
 int RGWBucketCtl::remove_bucket_entrypoint_info(const rgw_bucket& bucket,
                                                 optional_yield y,
-                                                ceph::optional_ref_default<RGWBucketCtl::Bucket::RemoveParams> _params)
+                                                const Bucket::RemoveParams& params)
 {
-  auto& params = *_params;
   return bm_handler->call([&](RGWSI_Bucket_EP_Ctx& ctx) {
     return svc.bucket->remove_bucket_entrypoint_info(ctx,
                                                      RGWSI_Bucket::get_entrypoint_meta_key(bucket),
@@ -3049,9 +3046,8 @@ int RGWBucketCtl::remove_bucket_entrypoint_info(const rgw_bucket& bucket,
 int RGWBucketCtl::read_bucket_instance_info(const rgw_bucket& bucket,
                                             RGWBucketInfo *info,
                                             optional_yield y,
-                                            ceph::optional_ref_default<RGWBucketCtl::BucketInstance::GetParams> _params)
+                                            const BucketInstance::GetParams& params)
 {
-  auto& params = *_params;
   int ret = bmi_handler->call(params.bectx_params, [&](RGWSI_Bucket_BI_Ctx& ctx) {
     return svc.bucket->read_bucket_instance_info(ctx,
                                                  RGWSI_Bucket::get_bi_meta_key(bucket),
@@ -3077,11 +3073,10 @@ int RGWBucketCtl::read_bucket_instance_info(const rgw_bucket& bucket,
 int RGWBucketCtl::read_bucket_info(const rgw_bucket& bucket,
                                    RGWBucketInfo *info,
                                    optional_yield y,
-                                   ceph::optional_ref_default<RGWBucketCtl::BucketInstance::GetParams> _params,
+                                   const BucketInstance::GetParams& params,
                                    RGWObjVersionTracker *ep_objv_tracker)
 {
   const rgw_bucket *b = &bucket;
-  auto& params = *_params;
 
   std::optional<RGWBucketEntryPoint> ep;
 
@@ -3124,9 +3119,8 @@ int RGWBucketCtl::do_store_bucket_instance_info(RGWSI_Bucket_BI_Ctx& ctx,
                                                 const rgw_bucket& bucket,
                                                 RGWBucketInfo& info,
                                                 optional_yield y,
-                                                ceph::optional_ref_default<RGWBucketCtl::BucketInstance::PutParams> _params)
+                                                const BucketInstance::PutParams& params)
 {
-  auto& params = *_params;
   if (params.objv_tracker) {
     info.objv_tracker = *params.objv_tracker;
   }
@@ -3144,19 +3138,18 @@ int RGWBucketCtl::do_store_bucket_instance_info(RGWSI_Bucket_BI_Ctx& ctx,
 int RGWBucketCtl::store_bucket_instance_info(const rgw_bucket& bucket,
                                             RGWBucketInfo& info,
                                             optional_yield y,
-                                            ceph::optional_ref_default<RGWBucketCtl::BucketInstance::PutParams> _params)
+                                            const BucketInstance::PutParams& params)
 {
   return bmi_handler->call([&](RGWSI_Bucket_BI_Ctx& ctx) {
-    return do_store_bucket_instance_info(ctx, bucket, info, y, _params);
+    return do_store_bucket_instance_info(ctx, bucket, info, y, params);
   });
 }
 
 int RGWBucketCtl::remove_bucket_instance_info(const rgw_bucket& bucket,
                                               RGWBucketInfo& info,
                                               optional_yield y,
-                                              ceph::optional_ref_default<RGWBucketCtl::BucketInstance::RemoveParams> _params)
+                                              const BucketInstance::RemoveParams& params)
 {
-  auto& params = *_params;
   if (params.objv_tracker) {
     info.objv_tracker = *params.objv_tracker;
   }
index 8b8444b6f11aca13f7189eebb4b46596505a6514..e9d0d14c8b8908d1b49e1a7523408d1b0d7374cf 100644 (file)
@@ -20,7 +20,6 @@
 #include "common/Formatter.h"
 #include "common/lru_map.h"
 #include "common/ceph_time.h"
-#include "common/optional_ref_default.h"
 
 #include "rgw_formats.h"
 
@@ -602,6 +601,8 @@ public:
       boost::optional<obj_version> refresh_version;
       std::optional<RGWSI_MetaBackend_CtxParams> bectx_params;
 
+      GetParams() {}
+
       GetParams& set_objv_tracker(RGWObjVersionTracker *_objv_tracker) {
         objv_tracker = _objv_tracker;
         return *this;
@@ -639,6 +640,8 @@ public:
       bool exclusive{false};
       map<string, bufferlist> *attrs{nullptr};
 
+      PutParams() {}
+
       PutParams& set_objv_tracker(RGWObjVersionTracker *_objv_tracker) {
         objv_tracker = _objv_tracker;
         return *this;
@@ -663,6 +666,8 @@ public:
     struct RemoveParams {
       RGWObjVersionTracker *objv_tracker{nullptr};
 
+      RemoveParams() {}
+
       RemoveParams& set_objv_tracker(RGWObjVersionTracker *_objv_tracker) {
         objv_tracker = _objv_tracker;
         return *this;
@@ -679,6 +684,8 @@ public:
       RGWObjVersionTracker *objv_tracker{nullptr};
       std::optional<RGWSI_MetaBackend_CtxParams> bectx_params;
 
+      GetParams() {}
+
       GetParams& set_mtime(ceph::real_time *_mtime) {
         mtime = _mtime;
         return *this;
@@ -718,6 +725,8 @@ public:
       map<string, bufferlist> *attrs{nullptr};
       RGWObjVersionTracker *objv_tracker{nullptr};
 
+      PutParams() {}
+
       PutParams& set_orig_info(RGWBucketInfo *pinfo) {
         orig_info = pinfo;
         return *this;
@@ -747,6 +756,8 @@ public:
     struct RemoveParams {
       RGWObjVersionTracker *objv_tracker{nullptr};
 
+      RemoveParams() {}
+
       RemoveParams& set_objv_tracker(RGWObjVersionTracker *_objv_tracker) {
         objv_tracker = _objv_tracker;
         return *this;
@@ -758,28 +769,28 @@ public:
   int read_bucket_entrypoint_info(const rgw_bucket& bucket,
                                   RGWBucketEntryPoint *info,
                                   optional_yield y,
-                                  ceph::optional_ref_default<RGWBucketCtl::Bucket::GetParams> params = std::nullopt);
+                                  const Bucket::GetParams& params = {});
   int store_bucket_entrypoint_info(const rgw_bucket& bucket,
                                    RGWBucketEntryPoint& info,
                                    optional_yield y,
-                                   ceph::optional_ref_default<RGWBucketCtl::Bucket::PutParams> params = std::nullopt);
+                                   const Bucket::PutParams& params = {});
   int remove_bucket_entrypoint_info(const rgw_bucket& bucket,
                                     optional_yield y,
-                                    ceph::optional_ref_default<RGWBucketCtl::Bucket::RemoveParams> params = std::nullopt);
+                                    const Bucket::RemoveParams& params = {});
 
   /* bucket instance */
   int read_bucket_instance_info(const rgw_bucket& bucket,
                                   RGWBucketInfo *info,
                                   optional_yield y,
-                                  ceph::optional_ref_default<RGWBucketCtl::BucketInstance::GetParams> params = std::nullopt);
+                                  const BucketInstance::GetParams& params = {});
   int store_bucket_instance_info(const rgw_bucket& bucket,
                                  RGWBucketInfo& info,
                                  optional_yield y,
-                                 ceph::optional_ref_default<RGWBucketCtl::BucketInstance::PutParams> params = std::nullopt);
+                                 const BucketInstance::PutParams& params = {});
   int remove_bucket_instance_info(const rgw_bucket& bucket,
                                   RGWBucketInfo& info,
                                   optional_yield y,
-                                  ceph::optional_ref_default<RGWBucketCtl::BucketInstance::RemoveParams> params = std::nullopt);
+                                  const BucketInstance::RemoveParams& params = {});
 
   /*
    * bucket_id may or may not be provided
@@ -790,7 +801,7 @@ public:
   int read_bucket_info(const rgw_bucket& bucket,
                        RGWBucketInfo *info,
                        optional_yield y,
-                       ceph::optional_ref_default<RGWBucketCtl::BucketInstance::GetParams> _params = std::nullopt,
+                       const BucketInstance::GetParams& params = {},
                       RGWObjVersionTracker *ep_objv_tracker = nullptr);
 
 
@@ -830,7 +841,7 @@ private:
                                     const rgw_bucket& bucket,
                                     RGWBucketInfo& info,
                                     optional_yield y,
-                                    ceph::optional_ref_default<RGWBucketCtl::BucketInstance::PutParams> params);
+                                    const BucketInstance::PutParams& params);
 
   int do_store_linked_bucket_info(RGWSI_Bucket_X_Ctx& ctx,
                                   RGWBucketInfo& info,
index 36f0acb43e54ef4ba2440f36d003f1e4829cacc4..7b33d4ec0dc5016efb31283ffd3ec1467480fa82 100644 (file)
@@ -740,8 +740,7 @@ error_out:
 
   ret2 = store->ctl.bucket->remove_bucket_instance_info(new_bucket_info.bucket,
                                                         new_bucket_info,
-                                                       null_yield,
-                                                        std::nullopt);
+                                                       null_yield);
   if (ret2 < 0) {
     lderr(store->ctx()) << "Error: " << __func__ <<
       " failed to clean bucket info object \"" <<