InnoDB Plugin
1.0
|
#include <buf0dblwr.h>
Data Fields | |
ib_mutex_t | mutex |
ulint | block1 |
ulint | block2 |
ulint | first_free |
ulint | b_reserved |
os_event_t | b_event |
ulint | s_reserved |
os_event_t | s_event |
bool * | in_use |
bool | batch_running |
byte * | write_buf |
byte * | write_buf_unaligned |
buf_page_t ** | buf_block_arr |
Doublewrite control struct
os_event_t buf_dblwr_t::b_event |
event where threads wait for a batch flush to end.
ulint buf_dblwr_t::b_reserved |
number of slots currently reserved for batch flush.
bool buf_dblwr_t::batch_running |
set to TRUE if currently a batch is being written from the doublewrite buffer.
ulint buf_dblwr_t::block1 |
the page number of the first doublewrite block (64 pages)
ulint buf_dblwr_t::block2 |
page number of the second block
buf_page_t** buf_dblwr_t::buf_block_arr |
array to store pointers to the buffer blocks which have been cached to write_buf
ulint buf_dblwr_t::first_free |
first free position in write_buf measured in units of UNIV_PAGE_SIZE
bool* buf_dblwr_t::in_use |
flag used to indicate if a slot is in use. Only used for single page flushes.
ib_mutex_t buf_dblwr_t::mutex |
mutex protecting the first_free field and write_buf
os_event_t buf_dblwr_t::s_event |
event where threads wait for a single page flush slot.
ulint buf_dblwr_t::s_reserved |
number of slots currently reserved for single page flushes.
byte* buf_dblwr_t::write_buf |
write buffer used in writing to the doublewrite buffer, aligned to an address divisible by UNIV_PAGE_SIZE (which is required by Windows aio)
byte* buf_dblwr_t::write_buf_unaligned |
pointer to write_buf, but unaligned