From 3aabe9e4d6bd655ee2efeb55eeea36215d734e78 Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Fri, 1 Nov 2019 10:17:05 +0800 Subject: [PATCH] rgw: use new aio_create_completion() Signed-off-by: Kefu Chai --- src/librados/librados_asio.h | 2 +- src/rgw/rgw_aio.cc | 2 +- src/rgw/rgw_coroutine.cc | 3 +-- src/rgw/rgw_rados.cc | 14 +++++++------- src/rgw/rgw_reshard.cc | 2 +- 5 files changed, 11 insertions(+), 12 deletions(-) diff --git a/src/librados/librados_asio.h b/src/librados/librados_asio.h index 6ff00e3d0e6..c9b5ffba7e3 100644 --- a/src/librados/librados_asio.h +++ b/src/librados/librados_asio.h @@ -85,7 +85,7 @@ struct AsyncOp : Invoker { static auto create(const Executor1& ex1, CompletionHandler&& handler) { auto p = Completion::create(ex1, std::move(handler)); p->user_data.aio_completion.reset( - Rados::aio_create_completion(p.get(), nullptr, aio_dispatch)); + Rados::aio_create_completion(p.get(), aio_dispatch)); return p; } }; diff --git a/src/rgw/rgw_aio.cc b/src/rgw/rgw_aio.cc index 834c14a7c8c..e32ba48c23c 100644 --- a/src/rgw/rgw_aio.cc +++ b/src/rgw/rgw_aio.cc @@ -31,7 +31,7 @@ struct state { state(Aio* aio, AioResult& r) : aio(aio), - c(librados::Rados::aio_create_completion(&r, nullptr, &cb)) {} + c(librados::Rados::aio_create_completion(&r, &cb)) {} }; void cb(librados::completion_t, void* arg) { diff --git a/src/rgw/rgw_coroutine.cc b/src/rgw/rgw_coroutine.cc index 36ff88fe463..4c658ca30ac 100644 --- a/src/rgw/rgw_coroutine.cc +++ b/src/rgw/rgw_coroutine.cc @@ -439,8 +439,7 @@ static void _aio_completion_notifier_cb(librados::completion_t cb, void *arg) RGWAioCompletionNotifier::RGWAioCompletionNotifier(RGWCompletionManager *_mgr, const rgw_io_id& _io_id, void *_user_data) : completion_mgr(_mgr), io_id(_io_id), user_data(_user_data), registered(true) { - c = librados::Rados::aio_create_completion((void *)this, NULL, - _aio_completion_notifier_cb); + c = librados::Rados::aio_create_completion(this, _aio_completion_notifier_cb); } RGWAioCompletionNotifier *RGWCoroutinesStack::create_completion_notifier() diff --git a/src/rgw/rgw_rados.cc b/src/rgw/rgw_rados.cc index ad27d5c2ab4..6c77eb0bb75 100644 --- a/src/rgw/rgw_rados.cc +++ b/src/rgw/rgw_rados.cc @@ -971,7 +971,7 @@ void RGWIndexCompletionManager::create_completion(const rgw_obj& obj, *result = entry; - entry->rados_completion = librados::Rados::aio_create_completion(entry, NULL, obj_complete_cb); + entry->rados_completion = librados::Rados::aio_create_completion(entry, obj_complete_cb); std::lock_guard l{locks[shard_id]}; completions[shard_id].insert(entry); @@ -5252,7 +5252,7 @@ int RGWRados::Object::Stat::stat_async() librados::ObjectReadOperation op; op.stat2(&result.size, &result.mtime, NULL); op.getxattrs(&result.attrs, NULL); - state.completion = librados::Rados::aio_create_completion(NULL, NULL, NULL); + state.completion = librados::Rados::aio_create_completion(nullptr, nullptr); state.io_ctx.locator_set_key(loc); r = state.io_ctx.aio_operate(oid, state.completion, &op, NULL); if (r < 0) { @@ -7497,7 +7497,7 @@ int RGWRados::append_async(rgw_raw_obj& obj, size_t size, bufferlist& bl) return r; } librados::Rados *rad = get_rados_handle(); - librados::AioCompletion *completion = rad->aio_create_completion(NULL, NULL, NULL); + librados::AioCompletion *completion = rad->aio_create_completion(nullptr, nullptr); r = ref.pool.ioctx().aio_append(ref.obj.oid, completion, bl, size); completion->release(); @@ -8050,7 +8050,7 @@ int RGWRados::cls_bucket_list_ordered(RGWBucketInfo& bucket_info, ObjectWriteOperation o; cls_rgw_suggest_changes(o, miter->second); // we don't care if we lose suggested updates, send them off blindly - AioCompletion *c = librados::Rados::aio_create_completion(NULL, NULL, NULL); + AioCompletion *c = librados::Rados::aio_create_completion(nullptr, nullptr); ioctx.aio_operate(miter->first, c, &o); c->release(); } @@ -8211,7 +8211,7 @@ check_updates: ObjectWriteOperation o; cls_rgw_suggest_changes(o, miter->second); // we don't care if we lose suggested updates, send them off blindly - AioCompletion *c = librados::Rados::aio_create_completion(NULL, NULL, NULL); + AioCompletion *c = librados::Rados::aio_create_completion(nullptr, nullptr); ioctx.aio_operate(miter->first, c, &o); c->release(); } @@ -8628,7 +8628,7 @@ int RGWRados::delete_raw_obj_aio(const rgw_raw_obj& obj, list prefixes; cls_rgw_remove_obj(op, prefixes); - AioCompletion *c = librados::Rados::aio_create_completion(NULL, NULL, NULL); + AioCompletion *c = librados::Rados::aio_create_completion(nullptr, nullptr); ret = ref.pool.ioctx().aio_operate(ref.obj.oid, c, &op); if (ret < 0) { lderr(cct) << "ERROR: AioOperate failed with ret=" << ret << dendl; @@ -8668,7 +8668,7 @@ int RGWRados::delete_obj_aio(const rgw_obj& obj, list prefixes; cls_rgw_remove_obj(op, prefixes); - AioCompletion *c = librados::Rados::aio_create_completion(NULL, NULL, NULL); + AioCompletion *c = librados::Rados::aio_create_completion(nullptr, nullptr); ret = ref.pool.ioctx().aio_operate(ref.obj.oid, c, &op); if (ret < 0) { lderr(cct) << "ERROR: AioOperate failed with ret=" << ret << dendl; diff --git a/src/rgw/rgw_reshard.cc b/src/rgw/rgw_reshard.cc index f0e646a22ef..15238341f03 100644 --- a/src/rgw/rgw_reshard.cc +++ b/src/rgw/rgw_reshard.cc @@ -93,7 +93,7 @@ class BucketReshardShard { } } - *c = librados::Rados::aio_create_completion(nullptr, nullptr, nullptr); + *c = librados::Rados::aio_create_completion(nullptr, nullptr); aio_completions.push_back(*c); return 0; -- 2.47.3