diff options
author | unknown <heikki@donna.mysql.fi> | 2001-11-17 13:48:39 +0200 |
---|---|---|
committer | unknown <heikki@donna.mysql.fi> | 2001-11-17 13:48:39 +0200 |
commit | 77c3dd15bf1d5f4cc90a5863341a06b31fba74f9 (patch) | |
tree | 787da1602ab19957328ec16ef6c00f2594a8fc67 /innobase/buf | |
parent | fb9d56cdede7e8737fc2058878a8aed6897c8d75 (diff) | |
download | mariadb-git-77c3dd15bf1d5f4cc90a5863341a06b31fba74f9.tar.gz |
btr0cur.c, btr0btr.c, dict0dict.h, dict0dict.c:
Fix a bug in insert buffer B-tree upper levels; probably caused the crash by B.Fitzpatrick
buf0flu.c:
Fix a bug in previous change
A small optimization for LRU flushes to avoid losing hot pages from the buffer pool
innobase/buf/buf0flu.c:
Fix a bug in previous change
innobase/dict/dict0dict.c:
Fix a bug in insert buffer B-tree upper levels; probably caused the crash by B.Fitzpatrick
innobase/include/dict0dict.h:
Fix a bug in insert buffer B-tree upper levels; probably caused the crash by B.Fitzpatrick
innobase/btr/btr0btr.c:
Fix a bug in insert buffer B-tree upper levels; probably caused the crash by B.Fitzpatrick
innobase/btr/btr0cur.c:
Fix a bug in insert buffer B-tree upper levels; probably caused the crash by B.Fitzpatrick
Diffstat (limited to 'innobase/buf')
-rw-r--r-- | innobase/buf/buf0flu.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/innobase/buf/buf0flu.c b/innobase/buf/buf0flu.c index cfa814bcb05..8184f10d6e9 100644 --- a/innobase/buf/buf0flu.c +++ b/innobase/buf/buf0flu.c @@ -556,6 +556,15 @@ buf_flush_try_neighbors( block = buf_page_hash_get(space, i); + if (block && flush_type == BUF_FLUSH_LRU && i != offset + && !block->old) { + + /* We avoid flushing 'non-old' blocks in an LRU flush, + because the flushed blocks are soon freed */ + + continue; + } + if (block && buf_flush_ready_for_flush(block, flush_type)) { mutex_exit(&(buf_pool->mutex)); |