]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
os/bluestore: un-inline some 2Q methods
authorSage Weil <sage@redhat.com>
Thu, 23 Jun 2016 21:09:20 +0000 (17:09 -0400)
committerIgor Fedotov <ifedotov@mirantis.com>
Fri, 24 Jun 2016 13:13:52 +0000 (16:13 +0300)
Signed-off-by: Sage Weil <sage@redhat.com>
src/os/bluestore/BlueStore.cc
src/os/bluestore/BlueStore.h

index 359de96cbdc5372887a5d8b3136bb935b5d46e00..7df30d805890fec3d54d4add67e09d741453549a 100644 (file)
@@ -656,6 +656,36 @@ void BlueStore::TwoQCache::_add_buffer(Buffer *b, int level, Buffer *near)
   }
 }
 
+void BlueStore::TwoQCache::_rm_buffer(Buffer *b)
+{
+  dout(20) << __func__ << " " << *b << dendl;
+ if (!b->is_empty()) {
+    assert(buffer_bytes >= b->length);
+    buffer_bytes -= b->length;
+  }
+  switch (b->cache_private) {
+  case BUFFER_WARM_IN:
+    buffer_warm_in.erase(buffer_warm_in.iterator_to(*b));
+    break;
+  case BUFFER_WARM_OUT:
+    buffer_warm_out.erase(buffer_warm_out.iterator_to(*b));
+    break;
+  case BUFFER_HOT:
+    buffer_hot.erase(buffer_hot.iterator_to(*b));
+    break;
+  default:
+    assert(0 == "bad cache_private");
+  }
+}
+
+void BlueStore::TwoQCache::_adjust_buffer_size(Buffer *b, int64_t delta)
+{
+  dout(20) << __func__ << " delta " << delta << " on " << *b << dendl;
+  if (!b->is_empty()) {
+    buffer_bytes += delta;
+  }
+}
+
 void BlueStore::TwoQCache::trim(uint64_t onode_max, uint64_t buffer_max)
 {
   std::lock_guard<std::mutex> l(lock);
index 1ac611b0f7399cad1b31ef7ab726c7f043a9542b..66be681da666c8300f6cfc32e1d6513c9b42b96f 100644 (file)
@@ -656,31 +656,8 @@ public:
     void _touch_onode(OnodeRef& o) override;
 
     void _add_buffer(Buffer *b, int level, Buffer *near) override;
-
-    void _rm_buffer(Buffer *b) override {
-      if (!b->is_empty()) {
-        assert(buffer_bytes >= b->length);
-       buffer_bytes -= b->length;
-      }
-      switch (b->cache_private) {
-      case BUFFER_WARM_IN:
-       buffer_warm_in.erase(buffer_warm_in.iterator_to(*b));
-       break;
-      case BUFFER_WARM_OUT:
-       buffer_warm_out.erase(buffer_warm_out.iterator_to(*b));
-       break;
-      case BUFFER_HOT:
-       buffer_hot.erase(buffer_hot.iterator_to(*b));
-       break;
-      default:
-       assert(0 == "bad cache_private");
-      }
-    }
-    void _adjust_buffer_size(Buffer *b, int64_t delta) override {
-      if (!b->is_empty()) {
-       buffer_bytes += delta;
-      }
-    }
+    void _rm_buffer(Buffer *b) override;
+    void _adjust_buffer_size(Buffer *b, int64_t delta) override;
     void _touch_buffer(Buffer *b) override {
       switch (b->cache_private) {
       case BUFFER_WARM_IN: