mariadb/storage/innobase/buf
Thirunarayanan Balathandayuthapani b1009ae5c1 MDEV-23456 fil_space_crypt_t::write_page0() is accessing an uninitialized page
buf_page_create() is invoked when page is initialized. So that
previous contents of the page ignored. In few cases, it calls
buf_page_get_gen() is called to fetch the page from buffer pool.
It should take x-latch on the page. If other thread uses the block
or block io state is different from BUF_IO_NONE then release the
mutex and check the state and buffer fix count again. For compressed
page, use the existing free block from LRU list to create new page.
Retry to fetch the compressed page if it is in flush list

fseg_create(), fseg_create_general(): Introduce block as a parameter
where segment header is placed. It is used to avoid repetitive
x-latch on the same page

Change the assert to check whether the page has SX latch and
X latch in all callee function of buf_page_create()

mtr_t::get_fix_count(): Get the buffer fix count of the given
block added by the mtr

FindBlock is added to find the buffer fix count of the given
block acquired by the mini-transaction
2020-09-09 11:58:15 +05:30
..
buf0buddy.cc
buf0buf.cc MDEV-23456 fil_space_crypt_t::write_page0() is accessing an uninitialized page 2020-09-09 11:58:15 +05:30
buf0checksum.cc
buf0dblwr.cc MDEV-23456 fil_space_crypt_t::write_page0() is accessing an uninitialized page 2020-09-09 11:58:15 +05:30
buf0dump.cc
buf0flu.cc
buf0lru.cc
buf0mtflu.cc
buf0rea.cc