// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
// vim: ts=8 sw=2 smarttab
#include "librbd/AsyncRequest.h"
+#include "common/WorkQueue.h"
#include "librbd/ImageCtx.h"
#include "librbd/internal.h"
#include <boost/bind.hpp>
m_image_ctx.async_requests_cond.Signal();
}
+void AsyncRequest::async_complete(int r) {
+ m_image_ctx.op_work_queue->queue(create_callback_context(), r);
+}
+
librados::AioCompletion *AsyncRequest::create_callback_completion() {
return librados::Rados::aio_create_completion(create_callback_context(),
NULL, rados_ctx_cb);
librados::AioCompletion *create_callback_completion();
Context *create_callback_context();
+ void async_complete(int r);
+
virtual bool safely_cancel(int r) {
return true;
}