diff options
author | Sage Weil <sage@inktank.com> | 2013-08-13 14:23:35 -0700 |
---|---|---|
committer | Sage Weil <sage@inktank.com> | 2013-08-13 14:39:34 -0700 |
commit | b45d87676a01d5c948ea5df64e2cacae0f636748 (patch) | |
tree | fda4198196aaee1bfff60638f000c85acf93c32f | |
parent | 0964d53ef3e8e386e0a1635d2240aefad7b8e2c1 (diff) | |
download | ceph-b45d87676a01d5c948ea5df64e2cacae0f636748.tar.gz |
common/Finisher: uninline/debug queue()wip-5955
Signed-off-by: Sage Weil <sage@inktank.com>
-rw-r--r-- | src/common/Finisher.cc | 15 | ||||
-rw-r--r-- | src/common/Finisher.h | 13 |
2 files changed, 16 insertions, 12 deletions
diff --git a/src/common/Finisher.cc b/src/common/Finisher.cc index 72bfb6f9aa7..076da694414 100644 --- a/src/common/Finisher.cc +++ b/src/common/Finisher.cc @@ -34,6 +34,21 @@ void Finisher::wait_for_empty() finisher_lock.Unlock(); } +void Finisher::queue(Context *c, int r) +{ + finisher_lock.Lock(); + ldout(cct, 10) << "queue " << c << " " << r << dendl; + if (r) { + finisher_queue_rval.push_back(pair<Context*, int>(c, r)); + finisher_queue.push_back(NULL); + } else + finisher_queue.push_back(c); + finisher_cond.Signal(); + finisher_lock.Unlock(); + if (logger) + logger->inc(l_finisher_queue_len); +} + void *Finisher::finisher_thread_entry() { finisher_lock.Lock(); diff --git a/src/common/Finisher.h b/src/common/Finisher.h index 173b924d7ad..abb78670e14 100644 --- a/src/common/Finisher.h +++ b/src/common/Finisher.h @@ -47,18 +47,7 @@ class Finisher { } finisher_thread; public: - void queue(Context *c, int r = 0) { - finisher_lock.Lock(); - if (r) { - finisher_queue_rval.push_back(pair<Context*, int>(c, r)); - finisher_queue.push_back(NULL); - } else - finisher_queue.push_back(c); - finisher_cond.Signal(); - finisher_lock.Unlock(); - if (logger) - logger->inc(l_finisher_queue_len); - } + void queue(Context *c, int r = 0); void queue(vector<Context*>& ls) { finisher_lock.Lock(); finisher_queue.insert(finisher_queue.end(), ls.begin(), ls.end()); |