diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2020-10-16 22:02:54 +0300 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2020-10-16 22:02:54 +0300 |
commit | 6dc037a9d1af3ab56db7bf1dc69f6c46278a9224 (patch) | |
tree | 18da90684a93f44696e1280678e6cd686b721446 /storage | |
parent | bdbec5a2e9455dd8765900d220b5fcb12396e05a (diff) | |
download | mariadb-git-6dc037a9d1af3ab56db7bf1dc69f6c46278a9224.tar.gz |
MDEV-23399 fixup: Remove double-free of a buffer page
In commit 7cffb5f6e8a231a041152447be8980ce35d2c9b8 we changed the
interface of buf_page_create() so that the free_block is allocated
by the caller. Both calls to buf_LRU_block_free_non_file_page()
should have been removed.
This caused an assertion failure 'block->page.state() == BUF_BLOCK_MEMORY'
in buf_LRU_block_free_non_file_page().
The bug only affected ROW_FORMAT=COMPRESSED pages.
Diffstat (limited to 'storage')
-rw-r--r-- | storage/innobase/buf/buf0buf.cc | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/storage/innobase/buf/buf0buf.cc b/storage/innobase/buf/buf0buf.cc index 031deaa0a23..9408ce7bf62 100644 --- a/storage/innobase/buf/buf0buf.cc +++ b/storage/innobase/buf/buf0buf.cc @@ -3827,7 +3827,6 @@ loop: if (block->page.io_fix() != BUF_IO_NONE) { hash_lock->write_unlock(); - buf_LRU_block_free_non_file_page(free_block); mysql_mutex_unlock(&buf_pool.mutex); goto loop; } |