int (*cb)(uint64_t, size_t, const char *, void *),
void *arg)
{
- utime_t start_time, elapsed;
+ coarse_mono_time start_time;
+ ceph::timespan elapsed;
ldout(ictx->cct, 20) << "read_iterate " << ictx << " off = " << off
<< " len = " << len << dendl;
}
RWLock::RLocker owner_locker(ictx->owner_lock);
- start_time = ceph_clock_now();
+ start_time = coarse_mono_clock::now();
while (left > 0) {
uint64_t period_off = off - (off % period);
uint64_t read_len = min(period_off + period - off, left);
off += ret;
}
- elapsed = ceph_clock_now() - start_time;
+ elapsed = coarse_mono_clock::now() - start_time;
ictx->perfcounter->tinc(l_librbd_rd_latency, elapsed);
ictx->perfcounter->inc(l_librbd_rd);
ictx->perfcounter->inc(l_librbd_rd_bytes, mylen);
#include "include/rbd_types.h"
#include "cls/rbd/cls_rbd_types.h"
#include "common/WorkQueue.h"
+#include "common/ceph_time.h"
#include "librbd/Types.h"
namespace librbd {
CephContext *cct = ictx->cct;
tracepoint(librbd, aio_complete_enter, this, rval);
- utime_t elapsed;
- elapsed = ceph_clock_now() - start_time;
+ ceph::timespan elapsed = coarse_mono_clock::now() - start_time;
switch (aio_type) {
case AIO_TYPE_GENERIC:
case AIO_TYPE_OPEN:
if (ictx == nullptr) {
ictx = i;
aio_type = t;
- start_time = ceph_clock_now();
+ start_time = coarse_mono_clock::now();
}
}
#include "common/Cond.h"
#include "common/Mutex.h"
+#include "common/ceph_time.h"
#include "include/Context.h"
#include "include/utime.h"
#include "include/rbd/librbd.hpp"
int ref;
bool released;
ImageCtx *ictx;
- utime_t start_time;
+ coarse_mono_time start_time;
aio_type_t aio_type;
ReadResult read_result;