Everything in the LRU is clean.
Signed-off-by: Sage Weil <sage@redhat.com>
}
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