From f92a071e18a3e366aaef71521112d01984b35384 Mon Sep 17 00:00:00 2001 From: Ali Maredia Date: Mon, 4 Mar 2019 15:55:11 -0500 Subject: [PATCH] rgw: log refactoring for AtomicObjProcessor complete Signed-off-by: Ali Maredia --- src/rgw/rgw_admin.cc | 6 ++--- src/rgw/rgw_cr_rados.h | 17 +++++++++---- src/rgw/rgw_cr_tools.cc | 2 +- src/rgw/rgw_data_sync.cc | 2 +- src/rgw/rgw_lc.cc | 25 ++++++++++--------- src/rgw/rgw_putobj_processor.h | 14 ++++------- src/rgw/rgw_rados.cc | 39 +++++++++++++++-------------- src/rgw/rgw_rados.h | 8 +++--- src/rgw/rgw_sync_module_pubsub.cc | 41 +++++++++++++++++-------------- src/rgw/rgw_tools.cc | 5 ++-- src/rgw/rgw_tools.h | 2 +- 11 files changed, 87 insertions(+), 74 deletions(-) diff --git a/src/rgw/rgw_admin.cc b/src/rgw/rgw_admin.cc index 6457050511e4e..a2c26dd8eb1c6 100644 --- a/src/rgw/rgw_admin.cc +++ b/src/rgw/rgw_admin.cc @@ -6015,7 +6015,7 @@ next: } map attrs; - ret = obj->put(bl, attrs); + ret = obj->put(bl, attrs, dpp()); if (ret < 0) { cerr << "ERROR: put object returned error: " << cpp_strerror(-ret) << std::endl; } @@ -6064,7 +6064,7 @@ next: } } if (need_rewrite) { - ret = store->rewrite_obj(bucket_info, obj); + ret = store->rewrite_obj(bucket_info, obj, dpp()); if (ret < 0) { cerr << "ERROR: object rewrite returned: " << cpp_strerror(-ret) << std::endl; return -ret; @@ -6165,7 +6165,7 @@ next: if (!need_rewrite) { formatter->dump_string("status", "Skipped"); } else { - r = store->rewrite_obj(bucket_info, obj); + r = store->rewrite_obj(bucket_info, obj, dpp()); if (r == 0) { formatter->dump_string("status", "Success"); } else { diff --git a/src/rgw/rgw_cr_rados.h b/src/rgw/rgw_cr_rados.h index dd68052d3a486..816815bfc0836 100644 --- a/src/rgw/rgw_cr_rados.h +++ b/src/rgw/rgw_cr_rados.h @@ -110,28 +110,34 @@ class RGWSimpleWriteOnlyAsyncCR : public RGWSimpleCoroutine { RGWRados *store; P params; + const DoutPrefixProvider *dpp; class Request : public RGWAsyncRadosRequest { RGWRados *store; P params; + const DoutPrefixProvider *dpp; protected: int _send_request() override; public: Request(RGWCoroutine *caller, RGWAioCompletionNotifier *cn, RGWRados *store, - const P& _params) : RGWAsyncRadosRequest(caller, cn), + const P& _params, + const DoutPrefixProvider *dpp) : RGWAsyncRadosRequest(caller, cn), store(store), - params(_params) {} + params(_params), + dpp(dpp) {} } *req{nullptr}; public: RGWSimpleWriteOnlyAsyncCR(RGWAsyncRadosProcessor *_async_rados, RGWRados *_store, - const P& _params) : RGWSimpleCoroutine(_store->ctx()), + const P& _params, + const DoutPrefixProvider *_dpp) : RGWSimpleCoroutine(_store->ctx()), async_rados(_async_rados), store(_store), - params(_params) {} + params(_params), + dpp(_dpp) {} ~RGWSimpleWriteOnlyAsyncCR() override { request_cleanup(); @@ -147,7 +153,8 @@ class RGWSimpleWriteOnlyAsyncCR : public RGWSimpleCoroutine { req = new Request(this, stack->create_completion_notifier(), store, - params); + params, + dpp); async_rados->queue(req); return 0; diff --git a/src/rgw/rgw_cr_tools.cc b/src/rgw/rgw_cr_tools.cc index 0d5ab6f4af7af..d84d1ec22a28e 100644 --- a/src/rgw/rgw_cr_tools.cc +++ b/src/rgw/rgw_cr_tools.cc @@ -243,7 +243,7 @@ int RGWObjectSimplePutCR::Request::_send_request() obj->set_user_data(*params.user_data); } - ret = obj->put(params.data, params.attrs); + ret = obj->put(params.data, params.attrs, dpp); if (ret < 0) { lderr(cct) << "ERROR: put object returned error: " << cpp_strerror(-ret) << dendl; } diff --git a/src/rgw/rgw_data_sync.cc b/src/rgw/rgw_data_sync.cc index e34b655aba1c4..04cf72becb68d 100644 --- a/src/rgw/rgw_data_sync.cc +++ b/src/rgw/rgw_data_sync.cc @@ -1768,7 +1768,7 @@ RGWCoroutine *RGWArchiveDataSyncModule::sync_object(RGWDataSyncEnv *sync_env, RG return new RGWFetchRemoteObjCR(sync_env->async_rados, sync_env->store, sync_env->source_zone, bucket_info, std::nullopt, key, dest_key, versioned_epoch, - true, zones_trace, nullptr); + true, zones_trace, nullptr, sync_env->dpp); } RGWCoroutine *RGWArchiveDataSyncModule::remove_object(RGWDataSyncEnv *sync_env, RGWBucketInfo& bucket_info, rgw_obj_key& key, diff --git a/src/rgw/rgw_lc.cc b/src/rgw/rgw_lc.cc index eb28e3ddb96cc..bea92b2b18bd2 100644 --- a/src/rgw/rgw_lc.cc +++ b/src/rgw/rgw_lc.cc @@ -522,10 +522,11 @@ struct lc_op_ctx { rgw_obj obj; RGWObjectCtx rctx; + const DoutPrefixProvider *dpp; - lc_op_ctx(op_env& _env, rgw_bucket_dir_entry& _o) : cct(_env.store->ctx()), env(_env), o(_o), + lc_op_ctx(op_env& _env, rgw_bucket_dir_entry& _o, const DoutPrefixProvider *_dpp) : cct(_env.store->ctx()), env(_env), o(_o), store(env.store), bucket_info(env.bucket_info), op(env.op), ol(env.ol), - obj(env.bucket_info.bucket, o.key), rctx(env.store) {} + obj(env.bucket_info.bucket, o.key), rctx(env.store), dpp(_dpp) {} }; static int remove_expired_obj(lc_op_ctx& oc, bool remove_indeed) @@ -606,7 +607,7 @@ public: LCOpRule(op_env& _env) : env(_env) {} void build(); - int process(rgw_bucket_dir_entry& o); + int process(rgw_bucket_dir_entry& o, const DoutPrefixProvider *dpp); }; static int check_tags(lc_op_ctx& oc, bool *skip) @@ -821,12 +822,12 @@ public: target_placement.storage_class = transition.storage_class; int r = oc.store->transition_obj(oc.rctx, oc.bucket_info, oc.obj, - target_placement, o.meta.mtime, o.versioned_epoch); + target_placement, o.meta.mtime, o.versioned_epoch, oc.dpp); if (r < 0) { - ldout(oc.cct, 0) << "ERROR: failed to transition obj (r=" << r << ")" << dendl; + ldpp_dout(oc.dpp, 0) << "ERROR: failed to transition obj (r=" << r << ")" << dendl; return r; } - ldout(oc.cct, 2) << "TRANSITIONED:" << oc.bucket_info.bucket << ":" << o.key << " -> " << transition.storage_class << dendl; + ldpp_dout(oc.dpp, 2) << "TRANSITIONED:" << oc.bucket_info.bucket << ":" << o.key << " -> " << transition.storage_class << dendl; return 0; } }; @@ -885,9 +886,9 @@ void LCOpRule::build() } } -int LCOpRule::process(rgw_bucket_dir_entry& o) +int LCOpRule::process(rgw_bucket_dir_entry& o, const DoutPrefixProvider *dpp) { - lc_op_ctx ctx(env, o); + lc_op_ctx ctx(env, o, dpp); unique_ptr *selected = nullptr; real_time exp; @@ -924,16 +925,16 @@ int LCOpRule::process(rgw_bucket_dir_entry& o) } if (!cont) { - ldout(env.store->ctx(), 20) << __func__ << "(): key=" << o.key << ": no rule match, skipping" << dendl; + ldpp_dout(dpp, 20) << __func__ << "(): key=" << o.key << ": no rule match, skipping" << dendl; return 0; } int r = (*selected)->process(ctx); if (r < 0) { - ldout(ctx.cct, 0) << "ERROR: remove_expired_obj " << dendl; + ldpp_dout(dpp, 0) << "ERROR: remove_expired_obj " << dendl; return r; } - ldout(ctx.cct, 20) << "processed:" << env.bucket_info.bucket << ":" << o.key << dendl; + ldpp_dout(dpp, 20) << "processed:" << env.bucket_info.bucket << ":" << o.key << dendl; } return 0; @@ -1017,7 +1018,7 @@ int RGWLC::bucket_lc_process(string& shard_id) rgw_bucket_dir_entry o; for (; ol.get_obj(&o); ol.next()) { ldpp_dout(this, 20) << __func__ << "(): key=" << o.key << dendl; - int ret = orule.process(o); + int ret = orule.process(o, this); if (ret < 0) { ldpp_dout(this, 20) << "ERROR: orule.process() returned ret=" << ret << dendl; } diff --git a/src/rgw/rgw_putobj_processor.h b/src/rgw/rgw_putobj_processor.h index 3037406b9056d..9db6b768f4c09 100644 --- a/src/rgw/rgw_putobj_processor.h +++ b/src/rgw/rgw_putobj_processor.h @@ -120,13 +120,13 @@ class ManifestObjectProcessor : public HeadObjectProcessor, const rgw_user& owner; RGWObjectCtx& obj_ctx; rgw_obj head_obj; - const DoutPrefixProvider *dpp; RadosWriter writer; RGWObjManifest manifest; RGWObjManifest::generator manifest_gen; ChunkProcessor chunk; StripeProcessor stripe; + const DoutPrefixProvider *dpp; // implements StripeGenerator int next(uint64_t offset, uint64_t *stripe_size) override; @@ -143,8 +143,7 @@ class ManifestObjectProcessor : public HeadObjectProcessor, owner(owner), obj_ctx(obj_ctx), head_obj(head_obj), writer(aio, store, bucket_info, obj_ctx, head_obj, dpp), - dpp(dpp), - chunk(&writer, 0), stripe(&chunk, this, 0) { + chunk(&writer, 0), stripe(&chunk, this, 0), dpp(dpp) { if (ptail_placement_rule) { tail_placement_rule = *ptail_placement_rule; } @@ -163,7 +162,6 @@ class AtomicObjectProcessor : public ManifestObjectProcessor { const std::optional olh_epoch; const std::string unique_tag; bufferlist first_chunk; // written with the head in complete() - const DoutPrefixProvider *dpp; int process_first_chunk(bufferlist&& data, DataProcessor **processor) override; public: @@ -177,7 +175,7 @@ class AtomicObjectProcessor : public ManifestObjectProcessor { const DoutPrefixProvider *dpp) : ManifestObjectProcessor(aio, store, bucket_info, ptail_placement_rule, owner, obj_ctx, head_obj, dpp), - olh_epoch(olh_epoch), unique_tag(unique_tag), dpp(dpp) + olh_epoch(olh_epoch), unique_tag(unique_tag) {} // prepare a trivial manifest @@ -202,7 +200,6 @@ class MultipartObjectProcessor : public ManifestObjectProcessor { const std::string upload_id; const int part_num; const std::string part_num_str; - const DoutPrefixProvider *dpp; RGWMPObj mp; // write the first chunk and wait on aio->drain() for its completion. @@ -222,7 +219,7 @@ class MultipartObjectProcessor : public ManifestObjectProcessor { : ManifestObjectProcessor(aio, store, bucket_info, ptail_placement_rule, owner, obj_ctx, head_obj, dpp), target_obj(head_obj), upload_id(upload_id), - part_num(part_num), part_num_str(part_num_str), dpp(dpp), + part_num(part_num), part_num_str(part_num_str), mp(head_obj.key.name, upload_id) {} @@ -247,7 +244,6 @@ class MultipartObjectProcessor : public ManifestObjectProcessor { uint64_t *cur_accounted_size; string cur_etag; const std::string unique_tag; - const DoutPrefixProvider *dpp; RGWObjManifest *cur_manifest; @@ -259,7 +255,7 @@ class MultipartObjectProcessor : public ManifestObjectProcessor { const rgw_user& owner, RGWObjectCtx& obj_ctx,const rgw_obj& head_obj, const std::string& unique_tag, uint64_t position, uint64_t *cur_accounted_size, const DoutPrefixProvider *dpp) : ManifestObjectProcessor(aio, store, bucket_info, ptail_placement_rule, owner, obj_ctx, head_obj, dpp), - position(position), cur_size(0), cur_accounted_size(cur_accounted_size), dpp(dpp), + position(position), cur_size(0), cur_accounted_size(cur_accounted_size), unique_tag(unique_tag), cur_manifest(nullptr) {} int prepare() override; diff --git a/src/rgw/rgw_rados.cc b/src/rgw/rgw_rados.cc index 7e7b9fa7d2a50..b789464a75e37 100644 --- a/src/rgw/rgw_rados.cc +++ b/src/rgw/rgw_rados.cc @@ -4003,7 +4003,7 @@ static void set_copy_attrs(map& src_attrs, } } -int RGWRados::rewrite_obj(RGWBucketInfo& dest_bucket_info, const rgw_obj& obj) +int RGWRados::rewrite_obj(RGWBucketInfo& dest_bucket_info, const rgw_obj& obj, const DoutPrefixProvider *dpp) { map attrset; @@ -4027,7 +4027,7 @@ int RGWRados::rewrite_obj(RGWBucketInfo& dest_bucket_info, const rgw_obj& obj) return copy_obj_data(rctx, dest_bucket_info, dest_bucket_info.placement_rule, read_op, obj_size - 1, obj, NULL, mtime, attrset, - 0, real_time(), NULL); + 0, real_time(), NULL, dpp); } struct obj_time_weight { @@ -4574,7 +4574,7 @@ int RGWRados::copy_obj(RGWObjectCtx& obj_ctx, string *petag, void (*progress_cb)(off_t, void *), void *progress_data, - const DoutprefixProvider *dpp) + const DoutPrefixProvider *dpp) { int ret; uint64_t obj_size; @@ -4630,7 +4630,7 @@ int RGWRados::copy_obj(RGWObjectCtx& obj_ctx, // may result in data corruption silently when copying // multipart objects acorss pools. So reject COPY operations //on encrypted objects before it is fully functional. - ldout(cct, 0) << "ERROR: copy op for encrypted object " << src_obj + ldpp_dout(dpp, 0) << "ERROR: copy op for encrypted object " << src_obj << " has not been implemented." << dendl; return -ERR_NOT_IMPLEMENTED; } @@ -4664,7 +4664,7 @@ int RGWRados::copy_obj(RGWObjectCtx& obj_ctx, ret = get_max_chunk_size(dest_bucket_info.placement_rule, dest_obj, &max_chunk_size); if (ret < 0) { - ldout(cct, 0) << "ERROR: failed to get max_chunk_size() for bucket " << dest_obj.bucket << dendl; + ldpp_dout(dpp, 0) << "ERROR: failed to get max_chunk_size() for bucket " << dest_obj.bucket << dendl; return ret; } @@ -4675,7 +4675,7 @@ int RGWRados::copy_obj(RGWObjectCtx& obj_ctx, if (astate->has_manifest) { src_rule = &astate->manifest.get_tail_placement().placement_rule; - ldout(cct, 20) << __func__ << "(): manifest src_rule=" << src_rule->to_str() << dendl; + ldpp_dout(dpp, 20) << __func__ << "(): manifest src_rule=" << src_rule->to_str() << dendl; } if (!src_rule || src_rule->empty()) { @@ -4683,16 +4683,16 @@ int RGWRados::copy_obj(RGWObjectCtx& obj_ctx, } if (!get_obj_data_pool(*src_rule, src_obj, &src_pool)) { - ldout(cct, 0) << "ERROR: failed to locate data pool for " << src_obj << dendl; + ldpp_dout(dpp, 0) << "ERROR: failed to locate data pool for " << src_obj << dendl; return -EIO; } if (!get_obj_data_pool(dest_placement, dest_obj, &dest_pool)) { - ldout(cct, 0) << "ERROR: failed to locate data pool for " << dest_obj << dendl; + ldpp_dout(dpp, 0) << "ERROR: failed to locate data pool for " << dest_obj << dendl; return -EIO; } - ldout(cct, 20) << __func__ << "(): src_rule=" << src_rule->to_str() << " src_pool=" << src_pool + ldpp_dout(dpp, 20) << __func__ << "(): src_rule=" << src_rule->to_str() << " src_pool=" << src_pool << " dest_rule=" << dest_placement.to_str() << " dest_pool=" << dest_pool << dendl; bool copy_data = !astate->has_manifest || @@ -4726,7 +4726,7 @@ int RGWRados::copy_obj(RGWObjectCtx& obj_ctx, if (copy_data) { /* refcounting tail wouldn't work here, just copy the data */ attrs.erase(RGW_ATTR_TAIL_TAG); return copy_obj_data(obj_ctx, dest_bucket_info, dest_placement, read_op, obj_size - 1, dest_obj, - mtime, real_time(), attrs, olh_epoch, delete_at, petag); + mtime, real_time(), attrs, olh_epoch, delete_at, petag, dpp); } RGWObjManifest::obj_iterator miter = astate->manifest.obj_begin(); @@ -4745,7 +4745,7 @@ int RGWRados::copy_obj(RGWObjectCtx& obj_ctx, bool copy_itself = (dest_obj == src_obj); RGWObjManifest *pmanifest; - ldout(cct, 20) << "dest_obj=" << dest_obj << " src_obj=" << src_obj << " copy_itself=" << (int)copy_itself << dendl; + ldpp_dout(dpp, 20) << "dest_obj=" << dest_obj << " src_obj=" << src_obj << " copy_itself=" << (int)copy_itself << dendl; RGWRados::Object dest_op_target(this, dest_bucket_info, obj_ctx, dest_obj); RGWRados::Object::Write write_op(&dest_op_target); @@ -4832,7 +4832,7 @@ done_ret: int r = ref.ioctx.operate(riter->oid, &op); if (r < 0) { - ldout(cct, 0) << "ERROR: cleanup after error failed to drop reference on obj=" << *riter << dendl; + ldpp_dout(dpp, 0) << "ERROR: cleanup after error failed to drop reference on obj=" << *riter << dendl; } } } @@ -4850,7 +4850,8 @@ int RGWRados::copy_obj_data(RGWObjectCtx& obj_ctx, map& attrs, uint64_t olh_epoch, real_time delete_at, - string *petag) + string *petag, + const DoutPrefixProvider *dpp) { string tag; append_rand_alpha(cct, tag, tag, 32); @@ -4859,7 +4860,7 @@ int RGWRados::copy_obj_data(RGWObjectCtx& obj_ctx, using namespace rgw::putobj; AtomicObjectProcessor processor(&aio, this, dest_bucket_info, &dest_placement, dest_bucket_info.owner, obj_ctx, - dest_obj, olh_epoch, tag); + dest_obj, olh_epoch, tag, dpp); int ret = processor.prepare(); if (ret < 0) return ret; @@ -4870,7 +4871,7 @@ int RGWRados::copy_obj_data(RGWObjectCtx& obj_ctx, bufferlist bl; ret = read_op.read(ofs, end, bl); if (ret < 0) { - ldout(cct, 0) << "ERROR: fail to read object data, ret = " << ret << dendl; + ldpp_dout(dpp, 0) << "ERROR: fail to read object data, ret = " << ret << dendl; return ret; } @@ -4905,7 +4906,7 @@ int RGWRados::copy_obj_data(RGWObjectCtx& obj_ctx, RGWCompressionInfo cs_info; ret = rgw_compression_info_from_attrset(attrs, compressed, cs_info); if (ret < 0) { - ldout(cct, 0) << "ERROR: failed to read compression info" << dendl; + ldpp_dout(dpp, 0) << "ERROR: failed to read compression info" << dendl; return ret; } // pass original size if compressed @@ -4921,7 +4922,8 @@ int RGWRados::transition_obj(RGWObjectCtx& obj_ctx, rgw_obj& obj, const rgw_placement_rule& placement_rule, const real_time& mtime, - uint64_t olh_epoch) + uint64_t olh_epoch, + const DoutPrefixProvider *dpp) { map attrs; real_time read_mtime; @@ -4955,7 +4957,8 @@ int RGWRados::transition_obj(RGWObjectCtx& obj_ctx, attrs, olh_epoch, real_time(), - nullptr /* petag */); + nullptr /* petag */, + dpp); if (ret < 0) { return ret; } diff --git a/src/rgw/rgw_rados.h b/src/rgw/rgw_rados.h index 244750d120a1d..c080bc444eb4b 100644 --- a/src/rgw/rgw_rados.h +++ b/src/rgw/rgw_rados.h @@ -1870,7 +1870,7 @@ public: ATTRSMOD_MERGE = 2 }; - int rewrite_obj(RGWBucketInfo& dest_bucket_info, const rgw_obj& obj); + int rewrite_obj(RGWBucketInfo& dest_bucket_info, const rgw_obj& obj, const DoutPrefixProvider *dpp); int stat_remote_obj(RGWObjectCtx& obj_ctx, const rgw_user& user_id, @@ -1973,14 +1973,16 @@ public: map& attrs, uint64_t olh_epoch, ceph::real_time delete_at, - string *petag); + string *petag, + const DoutPrefixProvider *dpp); int transition_obj(RGWObjectCtx& obj_ctx, RGWBucketInfo& bucket_info, rgw_obj& obj, const rgw_placement_rule& placement_rule, const real_time& mtime, - uint64_t olh_epoch); + uint64_t olh_epoch, + const DoutPrefixProvider *dpp); int check_bucket_empty(RGWBucketInfo& bucket_info); diff --git a/src/rgw/rgw_sync_module_pubsub.cc b/src/rgw/rgw_sync_module_pubsub.cc index 25c1d52270678..36e25080c0fab 100644 --- a/src/rgw/rgw_sync_module_pubsub.cc +++ b/src/rgw/rgw_sync_module_pubsub.cc @@ -652,7 +652,7 @@ class PSSubscription { try { old_config.decode(iter); } catch (const buffer::error& e) { - ldout(cct, 0) << __func__ << "(): decode life cycle config failed" << dendl; + ldpp_dout(sync_env->dpp, 0) << __func__ << "(): decode life cycle config failed" << dendl; } } @@ -663,7 +663,7 @@ class PSSubscription { if (old_rule.get_prefix().empty() && old_rule.get_expiration().get_days() == retention_days && old_rule.is_enabled()) { - ldout(sync_env->cct, 20) << "no need to set lifecycle rule on bucket, existing rule matches config" << dendl; + ldpp_dout(sync_env->dpp, 20) << "no need to set lifecycle rule on bucket, existing rule matches config" << dendl; return set_cr_done(); } } @@ -672,9 +672,10 @@ class PSSubscription { lc_config.config.add_rule(rule); yield call(new RGWBucketLifecycleConfigCR(sync_env->async_rados, sync_env->store, - lc_config)); + lc_config, + sync_env->dpp)); if (retcode < 0) { - ldout(sync_env->cct, 1) << "ERROR: failed to set lifecycle on bucket: ret=" << retcode << dendl; + ldpp_dout(sync_env->dpp, 1) << "ERROR: failed to set lifecycle on bucket: ret=" << retcode << dendl; return set_cr_error(retcode); } @@ -713,7 +714,7 @@ class PSSubscription { get_bucket_info, sub->get_bucket_info_result)); if (retcode < 0 && retcode != -ENOENT) { - ldout(sync_env->cct, 1) << "ERROR: failed to geting bucket info: " << "tenant=" + ldpp_dout(sync_env->dpp, 1) << "ERROR: failed to geting bucket info: " << "tenant=" << get_bucket_info.tenant << " name=" << get_bucket_info.bucket_name << ": ret=" << retcode << dendl; } if (retcode == 0) { @@ -723,7 +724,7 @@ class PSSubscription { int ret = sub->data_access->get_bucket(result->bucket_info, result->attrs, &sub->bucket); if (ret < 0) { - ldout(sync_env->cct, 1) << "ERROR: data_access.get_bucket() bucket=" << result->bucket_info.bucket << " failed, ret=" << ret << dendl; + ldpp_dout(sync_env->dpp, 1) << "ERROR: data_access.get_bucket() bucket=" << result->bucket_info.bucket << " failed, ret=" << ret << dendl; return set_cr_error(ret); } } @@ -732,7 +733,7 @@ class PSSubscription { sub->get_bucket_info_result->bucket_info, sub->get_bucket_info_result->attrs)); if (retcode < 0) { - ldout(sync_env->cct, 1) << "ERROR: failed to init lifecycle on bucket (bucket=" << sub_conf->data_bucket_name << ") ret=" << retcode << dendl; + ldpp_dout(sync_env->dpp, 1) << "ERROR: failed to init lifecycle on bucket (bucket=" << sub_conf->data_bucket_name << ") ret=" << retcode << dendl; return set_cr_error(retcode); } @@ -741,12 +742,13 @@ class PSSubscription { create_bucket.user_info = sub->env->data_user_info; create_bucket.bucket_name = sub_conf->data_bucket_name; - ldout(sync_env->cct, 20) << "pubsub: bucket create: using user info: " << json_str("obj", *sub->env->data_user_info, true) << dendl; + ldpp_dout(sync_env->dpp, 20) << "pubsub: bucket create: using user info: " << json_str("obj", *sub->env->data_user_info, true) << dendl; yield call(new RGWBucketCreateLocalCR(sync_env->async_rados, sync_env->store, - create_bucket)); + create_bucket, + sync_env->dpp)); if (retcode < 0) { - ldout(sync_env->cct, 1) << "ERROR: failed to create bucket: " << "tenant=" + ldpp_dout(sync_env->dpp, 1) << "ERROR: failed to create bucket: " << "tenant=" << get_bucket_info.tenant << " name=" << get_bucket_info.bucket_name << ": ret=" << retcode << dendl; return set_cr_error(retcode); } @@ -755,7 +757,7 @@ class PSSubscription { } /* failed twice on -ENOENT, unexpected */ - ldout(sync_env->cct, 1) << "ERROR: failed to create bucket " << "tenant=" << get_bucket_info.tenant + ldpp_dout(sync_env->dpp, 1) << "ERROR: failed to create bucket " << "tenant=" << get_bucket_info.tenant << " name=" << get_bucket_info.bucket_name << dendl; return set_cr_error(-EIO); } @@ -799,12 +801,13 @@ class PSSubscription { yield call(new RGWObjectSimplePutCR(sync_env->async_rados, sync_env->store, - put_obj)); + put_obj, + sync_env->dpp)); if (retcode < 0) { - ldout(sync_env->cct, 10) << "failed to store event: " << put_obj.bucket << "/" << put_obj.key << " ret=" << retcode << dendl; + ldpp_dout(sync_env->dpp, 10) << "failed to store event: " << put_obj.bucket << "/" << put_obj.key << " ret=" << retcode << dendl; return set_cr_error(retcode); } else { - ldout(sync_env->cct, 20) << "event stored: " << put_obj.bucket << "/" << put_obj.key << dendl; + ldpp_dout(sync_env->dpp, 20) << "event stored: " << put_obj.bucket << "/" << put_obj.key << dendl; } return set_cr_done(); @@ -1059,27 +1062,27 @@ public: env(_env), conf(env->conf) {} int operate() override { reenter(this) { - ldout(sync_env->cct, 5) << ": init pubsub config zone=" << sync_env->source_zone << dendl; + ldpp_dout(sync_env->dpp, 1) << ": init pubsub config zone=" << sync_env->source_zone << dendl; /* nothing to do here right now */ create_user.user = conf->user; create_user.max_buckets = 0; /* unlimited */ create_user.display_name = "pubsub"; create_user.generate_key = false; - yield call(new RGWUserCreateCR(sync_env->async_rados, sync_env->store, create_user)); + yield call(new RGWUserCreateCR(sync_env->async_rados, sync_env->store, create_user, sync_env->dpp)); if (retcode < 0) { - ldout(sync_env->store->ctx(), 1) << "ERROR: failed to create rgw user: ret=" << retcode << dendl; + ldpp_dout(sync_env->dpp, 1) << "ERROR: failed to create rgw user: ret=" << retcode << dendl; return set_cr_error(retcode); } get_user_info.user = conf->user; yield call(new RGWGetUserInfoCR(sync_env->async_rados, sync_env->store, get_user_info, env->data_user_info)); if (retcode < 0) { - ldout(sync_env->store->ctx(), 1) << "ERROR: failed to create rgw user: ret=" << retcode << dendl; + ldpp_dout(sync_env->dpp, 1) << "ERROR: failed to create rgw user: ret=" << retcode << dendl; return set_cr_error(retcode); } - ldout(sync_env->cct, 20) << "pubsub: get user info cr returned: " << json_str("obj", *env->data_user_info, true) << dendl; + ldpp_dout(sync_env->dpp, 20) << "pubsub: get user info cr returned: " << json_str("obj", *env->data_user_info, true) << dendl; return set_cr_done(); diff --git a/src/rgw/rgw_tools.cc b/src/rgw/rgw_tools.cc index b86aeb29a9795..1c84ebfc6f33a 100644 --- a/src/rgw/rgw_tools.cc +++ b/src/rgw/rgw_tools.cc @@ -418,7 +418,8 @@ int RGWDataAccess::Bucket::get_object(const rgw_obj_key& key, } int RGWDataAccess::Object::put(bufferlist& data, - map& attrs) + map& attrs, + const DoutPrefixProvider *dpp) { RGWRados *store = sd->store; CephContext *cct = store->ctx(); @@ -441,7 +442,7 @@ int RGWDataAccess::Object::put(bufferlist& data, AtomicObjectProcessor processor(&aio, store, bucket_info, nullptr, owner.get_id(), - obj_ctx, obj, olh_epoch, req_id); + obj_ctx, obj, olh_epoch, req_id, dpp); int ret = processor.prepare(); if (ret < 0) diff --git a/src/rgw/rgw_tools.h b/src/rgw/rgw_tools.h index f398edafb2c96..927915e9ef0cd 100644 --- a/src/rgw/rgw_tools.h +++ b/src/rgw/rgw_tools.h @@ -155,7 +155,7 @@ public: bucket(_bucket), key(_key) {} public: - int put(bufferlist& data, map& attrs); /* might modify attrs */ + int put(bufferlist& data, map& attrs, const DoutPrefixProvider *dpp); /* might modify attrs */ void set_mtime(const ceph::real_time& _mtime) { mtime = _mtime; -- 2.39.5