From: Ali Maredia Date: Tue, 30 Apr 2019 21:52:04 +0000 (-0400) Subject: rgw: add optional_yield to RGWRados::get_bucket_instance_from_oid() X-Git-Tag: v15.1.0~2602^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=4fdb05e7e4abc8968f2d3e0f095591e682228572;p=ceph.git rgw: add optional_yield to RGWRados::get_bucket_instance_from_oid() Signed-off-by: Ali Maredia --- diff --git a/src/rgw/rgw_cr_rados.cc b/src/rgw/rgw_cr_rados.cc index 3f4db80f4d1..a068ecbbf0f 100644 --- a/src/rgw/rgw_cr_rados.cc +++ b/src/rgw/rgw_cr_rados.cc @@ -529,7 +529,7 @@ bool RGWOmapAppend::finish() { int RGWAsyncGetBucketInstanceInfo::_send_request() { RGWSysObjectCtx obj_ctx = store->svc.sysobj->init_obj_ctx(); - int r = store->get_bucket_instance_from_oid(obj_ctx, oid, bucket_info, NULL, NULL); + int r = store->get_bucket_instance_from_oid(obj_ctx, oid, bucket_info, NULL, NULL, null_yield); if (r < 0) { ldout(store->ctx(), 0) << "ERROR: failed to get bucket instance info for " << oid << dendl; diff --git a/src/rgw/rgw_rados.cc b/src/rgw/rgw_rados.cc index 399db5bdadd..59a86279045 100644 --- a/src/rgw/rgw_rados.cc +++ b/src/rgw/rgw_rados.cc @@ -8122,7 +8122,7 @@ int RGWRados::get_bucket_instance_info(RGWSysObjectCtx& obj_ctx, const string& m string oid = RGW_BUCKET_INSTANCE_MD_PREFIX + meta_key; rgw_bucket_instance_key_to_oid(oid); - return get_bucket_instance_from_oid(obj_ctx, oid, info, pmtime, pattrs); + return get_bucket_instance_from_oid(obj_ctx, oid, info, pmtime, pattrs, y); } int RGWRados::get_bucket_instance_info(RGWSysObjectCtx& obj_ctx, const rgw_bucket& bucket, RGWBucketInfo& info, @@ -8135,11 +8135,12 @@ int RGWRados::get_bucket_instance_info(RGWSysObjectCtx& obj_ctx, const rgw_bucke oid = bucket.oid; } - return get_bucket_instance_from_oid(obj_ctx, oid, info, pmtime, pattrs); + return get_bucket_instance_from_oid(obj_ctx, oid, info, pmtime, pattrs, y); } int RGWRados::get_bucket_instance_from_oid(RGWSysObjectCtx& obj_ctx, const string& oid, RGWBucketInfo& info, real_time *pmtime, map *pattrs, + optional_yield y, rgw_cache_entry_info *cache_info, boost::optional refresh_version) { @@ -8307,7 +8308,7 @@ int RGWRados::_get_bucket_info(RGWSysObjectCtx& obj_ctx, rgw_cache_entry_info cache_info; - ret = get_bucket_instance_from_oid(obj_ctx, oid, e.info, &e.mtime, &e.attrs, + ret = get_bucket_instance_from_oid(obj_ctx, oid, e.info, &e.mtime, &e.attrs, y, &cache_info, refresh_version); e.info.ep_objv = ot.read_version; info = e.info; diff --git a/src/rgw/rgw_rados.h b/src/rgw/rgw_rados.h index 72d821cc3e1..4ef1791a6cb 100644 --- a/src/rgw/rgw_rados.h +++ b/src/rgw/rgw_rados.h @@ -2138,7 +2138,7 @@ public: boost::optional refresh_version = boost::none); int get_bucket_instance_info(RGWSysObjectCtx& obj_ctx, const string& meta_key, RGWBucketInfo& info, ceph::real_time *pmtime, map *pattrs, optional_yield y); int get_bucket_instance_info(RGWSysObjectCtx& obj_ctx, const rgw_bucket& bucket, RGWBucketInfo& info, ceph::real_time *pmtime, map *pattrs, optional_yield y); - int get_bucket_instance_from_oid(RGWSysObjectCtx& obj_ctx, const string& oid, RGWBucketInfo& info, ceph::real_time *pmtime, map *pattrs, + int get_bucket_instance_from_oid(RGWSysObjectCtx& obj_ctx, const string& oid, RGWBucketInfo& info, ceph::real_time *pmtime, map *pattrs, optional_yield y, rgw_cache_entry_info *cache_info = NULL, boost::optional refresh_version = boost::none);