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),
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),
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),
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),
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;
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;
}
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;
}
#include "common/Formatter.h"
#include "common/lru_map.h"
#include "common/ceph_time.h"
-#include "common/optional_ref_default.h"
#include "rgw_formats.h"
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;
bool exclusive{false};
map<string, bufferlist> *attrs{nullptr};
+ PutParams() {}
+
PutParams& set_objv_tracker(RGWObjVersionTracker *_objv_tracker) {
objv_tracker = _objv_tracker;
return *this;
struct RemoveParams {
RGWObjVersionTracker *objv_tracker{nullptr};
+ RemoveParams() {}
+
RemoveParams& set_objv_tracker(RGWObjVersionTracker *_objv_tracker) {
objv_tracker = _objv_tracker;
return *this;
RGWObjVersionTracker *objv_tracker{nullptr};
std::optional<RGWSI_MetaBackend_CtxParams> bectx_params;
+ GetParams() {}
+
GetParams& set_mtime(ceph::real_time *_mtime) {
mtime = _mtime;
return *this;
map<string, bufferlist> *attrs{nullptr};
RGWObjVersionTracker *objv_tracker{nullptr};
+ PutParams() {}
+
PutParams& set_orig_info(RGWBucketInfo *pinfo) {
orig_info = pinfo;
return *this;
struct RemoveParams {
RGWObjVersionTracker *objv_tracker{nullptr};
+ RemoveParams() {}
+
RemoveParams& set_objv_tracker(RGWObjVersionTracker *_objv_tracker) {
objv_tracker = _objv_tracker;
return *this;
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
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);
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,