#include <clone0snapshot.h>
◆ Extension
File extension to use with name.
Enumerator |
---|
NONE | |
REPLACE | |
DDL | |
◆ State
File state: [CREATED] ----------—> [DROPPING] --> [DROPPED] --> [DROPPED_HANDLED] | ^ | | -—> [RENAMING] -> [RENAMED] | | <---------—.
Enumerator |
---|
NONE | |
DROPPING | |
RENAMING | |
CREATED | |
RENAMED | |
DROPPED | |
DROPPED_HANDLED | |
◆ begin_wait()
void Clone_file_ctx::begin_wait |
( |
| ) |
|
|
inline |
◆ by_ddl()
- Returns
- true iff added or modified by ddl in previous state.
- Parameters
-
[in] | state | current snapshot state |
◆ deleted()
bool Clone_file_ctx::deleted |
( |
| ) |
const |
|
inline |
- Returns
- true, iff file is already deleted.
◆ deleting()
bool Clone_file_ctx::deleting |
( |
| ) |
const |
|
inline |
- Returns
- true, iff DDL is deleting file.
◆ end_wait()
void Clone_file_ctx::end_wait |
( |
| ) |
|
|
inline |
◆ get_file_meta()
◆ get_file_meta_read()
- Returns
- file metadata for read.
◆ get_file_name()
void Clone_file_ctx::get_file_name |
( |
std::string & |
name | ) |
const |
Get file name with extension.
- Parameters
-
◆ init()
Initialize file state.
- Parameters
-
[in] | extn | file name extension |
◆ is_pinned()
bool Clone_file_ctx::is_pinned |
( |
| ) |
const |
|
inline |
- Returns
- true, iff clone tasks are using the file.
◆ is_waiting()
bool Clone_file_ctx::is_waiting |
( |
| ) |
const |
|
inline |
- Returns
- true, iff there are waiting clone tasks.
◆ modifying()
bool Clone_file_ctx::modifying |
( |
| ) |
const |
|
inline |
- Returns
- true, iff DDL is modifying file.
◆ pin()
void Clone_file_ctx::pin |
( |
| ) |
|
|
inline |
◆ renamed()
bool Clone_file_ctx::renamed |
( |
| ) |
const |
|
inline |
- Returns
- true, iff file is already renamed.
◆ set_ddl()
Mark file added by DDL.
- Parameters
-
[in] | next_state | next snapshot state |
◆ unpin()
void Clone_file_ctx::unpin |
( |
| ) |
|
|
inline |
◆ m_extension
◆ m_meta
◆ m_modified_ddl
bool Clone_file_ctx::m_modified_ddl {false} |
|
private |
true, if file created or modified after clone is started.
◆ m_next_state
Next state when ddl last modified file.
◆ m_pin
std::atomic<uint32_t> Clone_file_ctx::m_pin |
|
private |
Pin count incremented and decremented by clone tasks to synchronize with concurrent DDL.
Protected by snapshot mutex.
◆ m_state
std::atomic<State> Clone_file_ctx::m_state |
File metadata state.
Modified by DDL commands. Protected by snapshot mutex. Atomic operation helps clone to skip mutex when no ddl.
◆ m_waiting
uint32_t Clone_file_ctx::m_waiting |
|
private |
Waiting count incremented and decremented by clone tasks while waiting DDL file operation in progress.
Protected by snapshot mutex.
The documentation for this struct was generated from the following files: