MySQL 8.3.0
Source Code Documentation
fil_node_t Struct Reference

File node of a tablespace or the log data space. More...

#include <fil0fil.h>

Public Types

using List_node = UT_LIST_NODE_T(fil_node_t)
 

Public Member Functions

bool can_be_closed () const
 Returns true if the file can be closed. More...
 
bool is_flushed () const
 Returns true if the file is flushed. More...
 
void set_flushed ()
 Sets file to flushed state. More...
 
bool is_offset_valid (os_offset_t byte_offset) const
 

Public Attributes

fil_space_tspace
 tablespace containing this file More...
 
char * name
 file name; protected by Fil_shard::m_mutex and log_sys->mutex. More...
 
bool is_open
 whether this file is open. More...
 
pfs_os_file_t handle
 file handle (valid if is_open) More...
 
os_event_t sync_event
 event that groups and serializes calls to fsync More...
 
bool is_raw_disk
 whether the file actually is a raw device or disk partition More...
 
page_no_t size
 size of the file in database pages (0 if not known yet); the possible last incomplete megabyte may be ignored if space->id == 0 More...
 
page_no_t flush_size
 Size of the file when last flushed, used to force the flush when file grows to keep the filesystem metadata synced when using O_DIRECT_NO_FSYNC. More...
 
page_no_t init_size
 initial size of the file in database pages; FIL_IBD_FILE_INITIAL_SIZE by default More...
 
page_no_t max_size
 maximum size of the file in database pages More...
 
size_t n_pending_ios
 count of pending I/O's; is_open must be true if nonzero More...
 
size_t n_pending_flushes
 count of pending flushes; is_open must be true if nonzero More...
 
bool is_being_extended
 Set to true when a file is being extended. More...
 
int64_t modification_counter
 number of writes to the file since the system was started More...
 
int64_t flush_counter
 the modification_counter of the latest flush to disk More...
 
List_node LRU
 link to the fil_system->LRU list (keeping track of open files) More...
 
bool punch_hole
 whether the file system of this file supports PUNCH HOLE More...
 
size_t block_size
 block size to use for punching holes More...
 
bool atomic_write
 whether atomic write is enabled for this file More...
 
size_t magic_n
 FIL_NODE_MAGIC_N. More...
 

Detailed Description

File node of a tablespace or the log data space.

Member Typedef Documentation

◆ List_node

Member Function Documentation

◆ can_be_closed()

bool fil_node_t::can_be_closed ( ) const

Returns true if the file can be closed.

◆ is_flushed()

bool fil_node_t::is_flushed ( ) const
inline

Returns true if the file is flushed.

◆ is_offset_valid()

bool fil_node_t::is_offset_valid ( os_offset_t  byte_offset) const
inline

◆ set_flushed()

void fil_node_t::set_flushed ( )
inline

Sets file to flushed state.

Member Data Documentation

◆ atomic_write

bool fil_node_t::atomic_write

whether atomic write is enabled for this file

◆ block_size

size_t fil_node_t::block_size

block size to use for punching holes

◆ flush_counter

int64_t fil_node_t::flush_counter

the modification_counter of the latest flush to disk

◆ flush_size

page_no_t fil_node_t::flush_size

Size of the file when last flushed, used to force the flush when file grows to keep the filesystem metadata synced when using O_DIRECT_NO_FSYNC.

◆ handle

pfs_os_file_t fil_node_t::handle

file handle (valid if is_open)

◆ init_size

page_no_t fil_node_t::init_size

initial size of the file in database pages; FIL_IBD_FILE_INITIAL_SIZE by default

◆ is_being_extended

bool fil_node_t::is_being_extended

Set to true when a file is being extended.

◆ is_open

bool fil_node_t::is_open

whether this file is open.

Note: We set the is_open flag after we increase the write the MLOG_FILE_OPEN record to redo log. Therefore we increment the in_use reference count before setting the OPEN flag.

◆ is_raw_disk

bool fil_node_t::is_raw_disk

whether the file actually is a raw device or disk partition

◆ LRU

List_node fil_node_t::LRU

link to the fil_system->LRU list (keeping track of open files)

◆ magic_n

size_t fil_node_t::magic_n

FIL_NODE_MAGIC_N.

◆ max_size

page_no_t fil_node_t::max_size

maximum size of the file in database pages

◆ modification_counter

int64_t fil_node_t::modification_counter

number of writes to the file since the system was started

◆ n_pending_flushes

size_t fil_node_t::n_pending_flushes

count of pending flushes; is_open must be true if nonzero

◆ n_pending_ios

size_t fil_node_t::n_pending_ios

count of pending I/O's; is_open must be true if nonzero

◆ name

char* fil_node_t::name

file name; protected by Fil_shard::m_mutex and log_sys->mutex.

◆ punch_hole

bool fil_node_t::punch_hole

whether the file system of this file supports PUNCH HOLE

◆ size

page_no_t fil_node_t::size

size of the file in database pages (0 if not known yet); the possible last incomplete megabyte may be ignored if space->id == 0

◆ space

fil_space_t* fil_node_t::space

tablespace containing this file

◆ sync_event

os_event_t fil_node_t::sync_event

event that groups and serializes calls to fsync


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