MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
buf_dblwr_t Struct Reference

#include <buf0dblwr.h>

Collaboration diagram for buf_dblwr_t:

Public Attributes

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

Definition at line 117 of file buf0dblwr.h.

Member Data Documentation

os_event_t buf_dblwr_t::b_event

event where threads wait for a batch flush to end.

Definition at line 127 of file buf0dblwr.h.

ulint buf_dblwr_t::b_reserved

number of slots currently reserved for batch flush.

Definition at line 125 of file buf0dblwr.h.

bool buf_dblwr_t::batch_running

set to TRUE if currently a batch is being written from the doublewrite buffer.

Definition at line 136 of file buf0dblwr.h.

ulint buf_dblwr_t::block1

the page number of the first doublewrite block (64 pages)

Definition at line 120 of file buf0dblwr.h.

ulint buf_dblwr_t::block2

page number of the second block

Definition at line 122 of file buf0dblwr.h.

buf_page_t** buf_dblwr_t::buf_block_arr

array to store pointers to the buffer blocks which have been cached to write_buf

Definition at line 145 of file buf0dblwr.h.

ulint buf_dblwr_t::first_free

first free position in write_buf measured in units of UNIV_PAGE_SIZE

Definition at line 123 of file buf0dblwr.h.

bool* buf_dblwr_t::in_use

flag used to indicate if a slot is in use. Only used for single page flushes.

Definition at line 133 of file buf0dblwr.h.

ib_mutex_t buf_dblwr_t::mutex

mutex protecting the first_free field and write_buf

Definition at line 118 of file buf0dblwr.h.

os_event_t buf_dblwr_t::s_event

event where threads wait for a single page flush slot.

Definition at line 131 of file buf0dblwr.h.

ulint buf_dblwr_t::s_reserved

number of slots currently reserved for single page flushes.

Definition at line 129 of file buf0dblwr.h.

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)

Definition at line 139 of file buf0dblwr.h.

byte* buf_dblwr_t::write_buf_unaligned

pointer to write_buf, but unaligned

Definition at line 143 of file buf0dblwr.h.


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