mariadb/storage/innobase/sync
Marko Mäkelä bb328a2a27 MDEV-24188 Hang in buf_page_create() after reusing a previously freed page
The fix of MDEV-23456 (commit b1009ae5c1)
introduced a livelock between page flushing and a thread that is
executing buf_page_create().

buf_page_create(): If the current mini-transaction is holding
an exclusive latch on the page, do not attempt to acquire another
one, and do not care about any I/O fix.

mtr_t::have_x_latch(): Replaces mtr_t::get_fix_count().

dyn_buf_t::for_each_block(const Functor&) const: A new variant.

rw_lock_own(): Add a const qualifier.

Reviewed by: Thirunarayanan Balathandayuthapani
2020-11-13 20:16:39 +02:00
..
sync0arr.cc Merge branch '10.1' into 10.2 2020-08-02 11:05:29 +02:00
sync0debug.cc MDEV-23991 dict_table_stats_lock() has unnecessarily long scope 2020-10-27 19:09:20 +03:00
sync0rw.cc MDEV-24188 Hang in buf_page_create() after reusing a previously freed page 2020-11-13 20:16:39 +02:00
sync0sync.cc MDEV-23991 dict_table_stats_lock() has unnecessarily long scope 2020-10-27 19:09:20 +03:00