InnoDB Plugin  1.0
Data Fields
buf_dblwr_t Struct Reference

#include <buf0dblwr.h>

Collaboration diagram for buf_dblwr_t:
Collaboration graph

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

Detailed Description

Doublewrite control struct

Field Documentation

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

The documentation for this struct was generated from the following file: