diff options
author | Samuel Just <sam.just@inktank.com> | 2013-08-06 02:21:46 +0200 |
---|---|---|
committer | Samuel Just <sam.just@inktank.com> | 2013-08-06 22:51:51 +0200 |
commit | d0cbdde25ec8f77e016eb075e7a0d6f50569a58d (patch) | |
tree | 404f20d0e5f32b346dd997e3e93b92d9e855966d /src/osd/OSD.cc | |
parent | OSD: also suspend timeout while grabbing recovery_tp lock (diff) | |
download | ceph-d0cbdde25ec8f77e016eb075e7a0d6f50569a58d.tar.xz ceph-d0cbdde25ec8f77e016eb075e7a0d6f50569a58d.zip |
ReplicatedPG: ping TPHandle during scan_range
Signed-off-by: Samuel Just <sam.just@inktank.com>
Diffstat (limited to 'src/osd/OSD.cc')
-rw-r--r-- | src/osd/OSD.cc | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index 1d51e02ad43..987f8354c80 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -6664,7 +6664,7 @@ void OSD::do_recovery(PG *pg, ThreadPool::TPHandle &handle) #endif PG::RecoveryCtx rctx = create_context(); - int started = pg->start_recovery_ops(max, &rctx); + int started = pg->start_recovery_ops(max, &rctx, handle); dout(10) << "do_recovery started " << started << "/" << max << " on " << *pg << dendl; /* @@ -7052,7 +7052,7 @@ void OSD::OpWQ::_process(PGRef pg, ThreadPool::TPHandle &handle) if (!(pg_for_processing[&*pg].size())) pg_for_processing.erase(&*pg); } - osd->dequeue_op(pg, op); + osd->dequeue_op(pg, op, handle); pg->unlock(); } @@ -7065,7 +7065,9 @@ void OSDService::dequeue_pg(PG *pg, list<OpRequestRef> *dequeued) /* * NOTE: dequeue called in worker thread, with pg lock */ -void OSD::dequeue_op(PGRef pg, OpRequestRef op) +void OSD::dequeue_op( + PGRef pg, OpRequestRef op, + ThreadPool::TPHandle &handle) { utime_t latency = ceph_clock_now(g_ceph_context) - op->request->get_recv_stamp(); dout(10) << "dequeue_op " << op << " prio " << op->request->get_priority() @@ -7078,7 +7080,7 @@ void OSD::dequeue_op(PGRef pg, OpRequestRef op) op->mark_reached_pg(); - pg->do_request(op); + pg->do_request(op, handle); // finish dout(10) << "dequeue_op " << op << " finish" << dendl; |