]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
os/bluestore: cache: simplify lru trim
authorSage Weil <sage@redhat.com>
Fri, 10 Jun 2016 15:23:27 +0000 (11:23 -0400)
committerSage Weil <sage@redhat.com>
Wed, 22 Jun 2016 15:28:41 +0000 (11:28 -0400)
Everything in the LRU is clean.

Signed-off-by: Sage Weil <sage@redhat.com>
src/os/bluestore/BlueStore.cc

index 08b7dffb22e0fb0279008fb79dfb3b929f1c88b8..e6a2bc05057200d055a290bcab1832af3ae0e82b 100644 (file)
@@ -482,19 +482,13 @@ void BlueStore::LRUCache::trim(uint64_t onode_max, uint64_t buffer_max)
   }
   while (buffer_size > buffer_max) {
     Buffer *b = &*i;
-    if (b->is_clean()) {
-      auto p = b->space->buffer_map.find(b->offset);
-      if (i != buffer_lru.begin()) {
-       --i;
-      }
-      dout(20) << __func__ << " rm " << *b << dendl;
-      b->space->_rm_buffer(p);
-    } if (i != buffer_lru.begin()) {
+    assert(b->is_clean());
+    auto p = b->space->buffer_map.find(b->offset);
+    if (i != buffer_lru.begin()) {
       --i;
-      continue;
-    } else {
-      break;
     }
+    dout(20) << __func__ << " rm " << *b << dendl;
+    b->space->_rm_buffer(p);
   }
 
   // onodes