MCPcopy Create free account
hub / github.com/ceph/ceph / aio_read

Method aio_read

src/librbd/cache/ImageWriteback.cc:27–42  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

25
26template <typename I>
27void ImageWriteback<I>::aio_read(Extents &&image_extents, bufferlist *bl,
28 int fadvise_flags, Context *on_finish) {
29 CephContext *cct = m_image_ctx.cct;
30 ldout(cct, 20) << "image_extents=" << image_extents << ", "
31 << "on_finish=" << on_finish << dendl;
32
33 ImageCtx *image_ctx = util::get_image_ctx(&m_image_ctx);
34 auto aio_comp = io::AioCompletion::create_and_start(
35 on_finish, image_ctx, io::AIO_TYPE_READ);
36 ZTracer::Trace trace;
37 auto req = io::ImageDispatchSpec::create_read(
38 *image_ctx, io::IMAGE_DISPATCH_LAYER_WRITEBACK_CACHE, aio_comp,
39 std::move(image_extents), io::ImageArea::DATA, io::ReadResult{bl},
40 image_ctx->get_data_io_context(), fadvise_flags, 0, trace);
41 req->send();
42}
43
44template <typename I>
45void ImageWriteback<I>::aio_write(Extents &&image_extents,

Callers 2

readMethod · 0.45
aio_read_data_blocksMethod · 0.45

Calls 3

get_image_ctxFunction · 0.50
get_data_io_contextMethod · 0.45
sendMethod · 0.45

Tested by

no test coverage detected