1 // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
2 // vim: ts=8 sw=2 smarttab
4 #ifndef CEPH_LIBRBD_CACHE_RWL_READ_REQUEST_H
5 #define CEPH_LIBRBD_CACHE_RWL_READ_REQUEST_H
7 #include "include/Context.h"
8 #include "librbd/cache/pwl/Types.h"
14 typedef std::vector
<std::shared_ptr
<pwl::ImageExtentBuf
>> ImageExtentBufs
;
16 class C_ReadRequest
: public Context
{
18 io::Extents miss_extents
; // move back to caller
19 ImageExtentBufs read_extents
;
23 CephContext
*cct
, utime_t arrived
, PerfCounters
*perfcounter
,
24 bufferlist
*out_bl
, Context
*on_finish
)
25 : m_cct(cct
), m_on_finish(on_finish
), m_out_bl(out_bl
),
26 m_arrived_time(arrived
), m_perfcounter(perfcounter
) {}
29 const char *get_name() const {
30 return "C_ReadRequest";
37 utime_t m_arrived_time
;
38 PerfCounters
*m_perfcounter
;
45 #endif // CEPH_LIBRBD_CACHE_RWL_READ_REQUEST_H