]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
rgw: log refactoring for AtomicObjProcessor complete
authorAli Maredia <amaredia@redhat.com>
Mon, 4 Mar 2019 20:55:11 +0000 (15:55 -0500)
committerAli Maredia <amaredia@redhat.com>
Tue, 23 Apr 2019 19:07:37 +0000 (15:07 -0400)
Signed-off-by: Ali Maredia <amaredia@redhat.com>
src/rgw/rgw_admin.cc
src/rgw/rgw_cr_rados.h
src/rgw/rgw_cr_tools.cc
src/rgw/rgw_data_sync.cc
src/rgw/rgw_lc.cc
src/rgw/rgw_putobj_processor.h
src/rgw/rgw_rados.cc
src/rgw/rgw_rados.h
src/rgw/rgw_sync_module_pubsub.cc
src/rgw/rgw_tools.cc
src/rgw/rgw_tools.h

index 6457050511e4e6326d0dc2cda8c97eb24b01c40d..a2c26dd8eb1c636edda21f75e59b00601a499498 100644 (file)
@@ -6015,7 +6015,7 @@ next:
     }
 
     map<string, bufferlist> 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 {
index dd68052d3a486b644a0af66024f1be1c84369d3c..816815bfc083647e0e5a46d87ed0493f235beec8 100644 (file)
@@ -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;
index 0d5ab6f4af7af0c64a7ae8de42f8d922068a50d5..d84d1ec22a28e585e519a8ed7fac749665ed98c9 100644 (file)
@@ -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;
   }
index e34b655aba1c4cb1838ac281b1ace3e2343dce12..04cf72becb68d39fc725b8b69a09b4609635c4f3 100644 (file)
@@ -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,
index eb28e3ddb96ccb5545dbd081c51fba17946e6df9..bea92b2b18bd25f0629b0c5d65075ad26c5fd70e 100644 (file)
@@ -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<LCOpAction> *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;
       }
index 3037406b9056df3e804899901004a52c13aa3c79..9db6b768f4c099e2339e6f1f1127f885b7110a13 100644 (file)
@@ -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<uint64_t> 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;
index 7e7b9fa7d2a5013c58fc0640bff068506a947ae2..b789464a75e3712673b303284196afe5bd88b497 100644 (file)
@@ -4003,7 +4003,7 @@ static void set_copy_attrs(map<string, bufferlist>& 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<string, bufferlist> 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<string, bufferlist>& 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<string, bufferlist> 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;
   }
index 244750d120a1dd7a06a8f96d3091943c3c8d1698..c080bc444eb4b0f31a273544081d48e1f2ef19e3 100644 (file)
@@ -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<string, bufferlist>& 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);
 
index 25c1d5227067804a4458b9f60b168bf7abc4b747..36e25080c0fab1dc287a69dcb71e32d5ab61b505 100644 (file)
@@ -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();
index b86aeb29a9795c767c8b5220fb130fa60d1d6774..1c84ebfc6f33a65dd0efb2d37732efde1dfec05e 100644 (file)
@@ -418,7 +418,8 @@ int RGWDataAccess::Bucket::get_object(const rgw_obj_key& key,
 }
 
 int RGWDataAccess::Object::put(bufferlist& data,
-                              map<string, bufferlist>& attrs)
+                              map<string, bufferlist>& 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)
index f398edafb2c96dd86995a7e390266d85eaa66af2..927915e9ef0cd5c02ffc2590080b13960b2131e2 100644 (file)
@@ -155,7 +155,7 @@ public:
                                       bucket(_bucket),
                                       key(_key) {}
   public:
-    int put(bufferlist& data, map<string, bufferlist>& attrs); /* might modify attrs */
+    int put(bufferlist& data, map<string, bufferlist>& attrs, const DoutPrefixProvider *dpp); /* might modify attrs */
 
     void set_mtime(const ceph::real_time& _mtime) {
       mtime = _mtime;