summaryrefslogtreecommitdiff
path: root/src/osdc
diff options
context:
space:
mode:
authorGreg Farnum <gregory.farnum@dreamhost.com>2012-04-13 16:49:10 -0700
committerSage Weil <sage.weil@dreamhost.com>2012-04-13 21:51:21 -0700
commitf355875baf42078b3917d9f23414f3f7e5b25458 (patch)
tree45e82573904785479fa69ee686fd897e40bd1136 /src/osdc
parent6257a94e3c7762980ed616586c0ed945884f3a27 (diff)
downloadceph-f355875baf42078b3917d9f23414f3f7e5b25458.tar.gz
ObjectCacher: group all the function definitions properly
Some of the ObjectCacher functions were separate, which works poorly if you're trying to do things like use ldout. Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
Diffstat (limited to 'src/osdc')
-rw-r--r--src/osdc/ObjectCacher.cc110
1 files changed, 55 insertions, 55 deletions
diff --git a/src/osdc/ObjectCacher.cc b/src/osdc/ObjectCacher.cc
index 52c1a793a6d..a6c0328df30 100644
--- a/src/osdc/ObjectCacher.cc
+++ b/src/osdc/ObjectCacher.cc
@@ -15,61 +15,6 @@
#define dout_subsys ceph_subsys_objectcacher
#undef dout_prefix
#define dout_prefix *_dout << "objectcacher.object(" << oid << ") "
-
-ObjectCacher::
-ObjectCacher(CephContext *cct_, WritebackHandler& wb, Mutex& l,
- flush_set_callback_t flush_callback,
- void *flush_callback_arg) :
- perfcounter(NULL),
- cct(cct_), writeback_handler(wb), lock(l),
- flush_set_callback(flush_callback), flush_set_callback_arg(flush_callback_arg),
- flusher_stop(false), flusher_thread(this),
- stat_waiter(0),
- stat_clean(0), stat_dirty(0), stat_rx(0), stat_tx(0), stat_missing(0) {
- perf_start();
-}
-
-ObjectCacher::~ObjectCacher()
-{
- perf_stop();
- // we should be empty.
- for (vector<hash_map<sobject_t, Object *> >::iterator i = objects.begin();
- i != objects.end();
- ++i)
- assert(!i->size());
- assert(lru_rest.lru_get_size() == 0);
- assert(lru_dirty.lru_get_size() == 0);
- assert(dirty_bh.empty());
-}
-
-void ObjectCacher::perf_start()
-{
- PerfCountersBuilder plb(cct, cct->_conf->name.to_str(), l_objectcacher_first, l_objectcacher_last);
-
- plb.add_u64_counter(l_objectcacher_cache_ops_hit, "cache_ops_hit");
- plb.add_u64_counter(l_objectcacher_cache_ops_miss, "cache_ops_miss");
- plb.add_u64_counter(l_objectcacher_cache_bytes_hit, "cache_bytes_hit");
- plb.add_u64_counter(l_objectcacher_cache_bytes_miss, "cache_bytes_miss");
- plb.add_u64_counter(l_objectcacher_data_read, "data_read");
- plb.add_u64_counter(l_objectcacher_data_written, "data_written");
- plb.add_u64_counter(l_objectcacher_data_flushed, "data_flushed");
- plb.add_u64_counter(l_objectcacher_overwritten_in_flush,
- "data_overwritten_while_flushing");
- plb.add_u64_counter(l_objectcacher_write_ops_blocked, "write_ops_blocked");
- plb.add_u64_counter(l_objectcacher_write_bytes_blocked, "write_bytes_blocked");
- plb.add_fl(l_objectcacher_write_time_blocked, "write_time_blocked");
-
- perfcounter = plb.create_perf_counters();
- cct->get_perfcounters_collection()->add(perfcounter);
-}
-
-void ObjectCacher::perf_stop()
-{
- assert(perfcounter);
- cct->get_perfcounters_collection()->remove(perfcounter);
- delete perfcounter;
-}
-
ObjectCacher::BufferHead *ObjectCacher::Object::split(BufferHead *left, loff_t off)
{
ldout(oc->cct, 20) << "split " << *left << " at " << off << dendl;
@@ -467,6 +412,61 @@ void ObjectCacher::Object::truncate(loff_t s)
#undef dout_prefix
#define dout_prefix *_dout << "objectcacher "
+
+ObjectCacher::
+ObjectCacher(CephContext *cct_, WritebackHandler& wb, Mutex& l,
+ flush_set_callback_t flush_callback,
+ void *flush_callback_arg) :
+ perfcounter(NULL),
+ cct(cct_), writeback_handler(wb), lock(l),
+ flush_set_callback(flush_callback), flush_set_callback_arg(flush_callback_arg),
+ flusher_stop(false), flusher_thread(this),
+ stat_waiter(0),
+ stat_clean(0), stat_dirty(0), stat_rx(0), stat_tx(0), stat_missing(0) {
+ perf_start();
+}
+
+ObjectCacher::~ObjectCacher()
+{
+ perf_stop();
+ // we should be empty.
+ for (vector<hash_map<sobject_t, Object *> >::iterator i = objects.begin();
+ i != objects.end();
+ ++i)
+ assert(!i->size());
+ assert(lru_rest.lru_get_size() == 0);
+ assert(lru_dirty.lru_get_size() == 0);
+ assert(dirty_bh.empty());
+}
+
+void ObjectCacher::perf_start()
+{
+ PerfCountersBuilder plb(cct, cct->_conf->name.to_str(), l_objectcacher_first, l_objectcacher_last);
+
+ plb.add_u64_counter(l_objectcacher_cache_ops_hit, "cache_ops_hit");
+ plb.add_u64_counter(l_objectcacher_cache_ops_miss, "cache_ops_miss");
+ plb.add_u64_counter(l_objectcacher_cache_bytes_hit, "cache_bytes_hit");
+ plb.add_u64_counter(l_objectcacher_cache_bytes_miss, "cache_bytes_miss");
+ plb.add_u64_counter(l_objectcacher_data_read, "data_read");
+ plb.add_u64_counter(l_objectcacher_data_written, "data_written");
+ plb.add_u64_counter(l_objectcacher_data_flushed, "data_flushed");
+ plb.add_u64_counter(l_objectcacher_overwritten_in_flush,
+ "data_overwritten_while_flushing");
+ plb.add_u64_counter(l_objectcacher_write_ops_blocked, "write_ops_blocked");
+ plb.add_u64_counter(l_objectcacher_write_bytes_blocked, "write_bytes_blocked");
+ plb.add_fl(l_objectcacher_write_time_blocked, "write_time_blocked");
+
+ perfcounter = plb.create_perf_counters();
+ cct->get_perfcounters_collection()->add(perfcounter);
+}
+
+void ObjectCacher::perf_stop()
+{
+ assert(perfcounter);
+ cct->get_perfcounters_collection()->remove(perfcounter);
+ delete perfcounter;
+}
+
/* private */
ObjectCacher::Object *ObjectCacher::get_object(sobject_t oid, ObjectSet *oset,
object_locator_t &l)