RGWAioCompletionNotifier::RGWAioCompletionNotifier(RGWCompletionManager *_mgr, void *_user_data) : completion_mgr(_mgr),
user_data(_user_data), lock("RGWAioCompletionNotifier"), registered(true) {
- c = librados::Rados::aio_create_completion((void *)this, _aio_completion_notifier_cb, NULL);
+ c = librados::Rados::aio_create_completion((void *)this, NULL,
+ _aio_completion_notifier_cb);
}
RGWAioCompletionNotifier *RGWCoroutinesStack::create_completion_notifier()
public:
RGWMetadataLogInfoCompletion(RGWMetadataLogInfo *_pinfo, RGWCompletionManager *_cm, void *_uinfo, int *_pret) :
pinfo(_pinfo), completion_manager(_cm), user_info(_uinfo), pret(_pret) {
- completion = librados::Rados::aio_create_completion((void *)this, _mdlog_info_completion, NULL);
+ completion = librados::Rados::aio_create_completion((void *)this, NULL,
+ _mdlog_info_completion);
}
~RGWMetadataLogInfoCompletion() {
int RGWRados::aio_wait(void *handle)
{
AioCompletion *c = (AioCompletion *)handle;
- c->wait_for_complete();
+ c->wait_for_safe();
int ret = c->get_return_value();
c->release();
return ret;
bool RGWRados::aio_completed(void *handle)
{
AioCompletion *c = (AioCompletion *)handle;
- return c->is_complete();
+ return c->is_safe();
}
class RGWRadosPutObj : public RGWGetDataCB
return state.ret;
}
- state.completion->wait_for_complete();
+ state.completion->wait_for_safe();
state.ret = state.completion->get_return_value();
state.completion->release();
librados::AioCompletion *c = iter->second;
lock.Unlock();
- c->wait_for_complete_and_cb();
+ c->wait_for_safe_and_cb();
int r = c->get_return_value();
lock.Lock();
struct get_obj_aio_data *paio_data = &aio_data.back(); /* last element */
- librados::AioCompletion *c = librados::Rados::aio_create_completion((void *)paio_data, _get_obj_aio_completion_cb, NULL);
+ librados::AioCompletion *c = librados::Rados::aio_create_completion((void *)paio_data, NULL, _get_obj_aio_completion_cb);
completion_map[ofs] = c;
*pc = c;
for (; aiter != completion_map.end(); ++aiter) {
completion = aiter->second;
- if (!completion->is_complete()) {
+ if (!completion->is_safe()) {
/* reached a request that is not yet complete, stop */
break;
}