File file_io.h¶
FileList > cubrid > src > storage > file_io.h
Go to the source code of this file
#include "config.h"#include "dbtype_def.h"#include "log_lsa.hpp"#include "memory_hash.h"#include "porting.h"#include "porting_inline.hpp"#include "release_string.h"#include "storage_common.h"#include "thread_compat.hpp"#include <stdio.h>#include <time.h>#include <map>
Classes¶
| Type | Name |
|---|---|
| struct | file_zip_info |
| struct | file_zip_page |
| struct | fileio_backup_buffer |
| struct | fileio_backup_db_buffer |
| struct | fileio_backup_header |
| struct | fileio_backup_page |
| struct | fileio_backup_record_info |
| struct | fileio_node |
| struct | fileio_page |
| struct | fileio_page_reserved |
| struct | fileio_page_watermark |
| struct | fileio_queue |
| struct | fileio_thread_info |
| struct | flush_stats |
| struct | io_backup_session |
| struct | page_bitmap |
| struct | page_bitmap_list |
| struct | token_bucket |
Public Types¶
Public Functions¶
Public Static Functions¶
| Type | Name |
|---|---|
| FILEIO_PAGE_WATERMARK * | fileio_get_page_watermark_pos (FILEIO_PAGE * io_page, PGLENGTH page_size) |
| void | fileio_init_lsa_of_page (FILEIO_PAGE * io_page, PGLENGTH page_size) |
| int | fileio_is_page_sane (FILEIO_PAGE * io_page, PGLENGTH page_size) |
| void | fileio_reset_page_lsa (FILEIO_PAGE * io_page, PGLENGTH page_size) |
| void | fileio_set_page_lsa (FILEIO_PAGE * io_page, const LOG_LSA * lsa, PGLENGTH page_size) |
Macros¶
| Type | Name |
|---|---|
| define | ALLOC_COPY [**false**](broker__monitor_8c.md#function-timeout) /\* alloc [**and**](broker__monitor_8c.md#function-timeout) copy volume label \*/ |
| define | FILEIO_BACKUP_NUM_THREADS_AUTO 0 |
| define | FILEIO_BACKUP_SLEEP_MSECS_AUTO 0 |
| define | FILEIO_FIRST_BACKUP_VOL_INFO 0 |
| define | FILEIO_INITIAL_BACKUP_UNITS 0 |
| define | FILEIO_MAX_SUFFIX_LENGTH 7 |
| define | FILEIO_MAX_USER_RESPONSE_SIZE 2000 |
| define | FILEIO_NO_BACKUP_UNITS -1 |
| define | FILEIO_PAGE_FLAG_ENCRYPTED_AES 0x1 |
| define | FILEIO_PAGE_FLAG_ENCRYPTED_ARIA 0x2 |
| define | FILEIO_PAGE_FLAG_ENCRYPTED_MASK 0x3 |
| define | FILEIO_PATH_SEPARATOR (path) (path[[**strlen**](intl__support_8c.md#define-strlen)(path) - 1] == [**PATH\_SEPARATOR**](porting_8h.md#define-path_separator) ? "" : [**STR\_PATH\_SEPARATOR**](file__io_8h.md#define-str_path_separator)) |
| define | FILEIO_SECOND_BACKUP_VOL_INFO 1 |
| define | FILEIO_SUFFIX_BACKUP "\_bk" |
| define | FILEIO_SUFFIX_BACKUP_VOLINFO "\_bkvinf" |
| define | FILEIO_SUFFIX_DWB "\_dwb" |
| define | FILEIO_SUFFIX_KEYS "\_keys" |
| define | FILEIO_SUFFIX_LOGACTIVE "\_lgat" |
| define | FILEIO_SUFFIX_LOGARCHIVE "\_lgar" |
| define | FILEIO_SUFFIX_LOGINFO "\_lginf" |
| define | FILEIO_SUFFIX_TMP_LOGARCHIVE "\_lgar\_t" |
| define | FILEIO_VOLEXT_PREFIX "\_x" |
| define | FILEIO_VOLINFO_SUFFIX "\_vinf" |
| define | FILEIO_VOLLOCK_SUFFIX "\_\_lock" |
| define | FILEIO_VOLTMP_PREFIX "\_t" |
| define | NULL_VOLDES (-1) /\* [**Value**](broker__monitor_8c.md#function-timeout) [**of**](broker__monitor_8c.md#function-timeout) [**a**](broker__monitor_8c.md#function-timeout) [**null**](broker__monitor_8c.md#function-timeout) ([**invalid**](broker__monitor_8c.md#function-timeout)) [**vol**](broker__monitor_8c.md#function-timeout) descriptor \*/ |
| define | PEEK [**true**](broker__monitor_8c.md#function-timeout) /\* [**Peek**](broker__monitor_8c.md#function-timeout) volume label pointer \*/ |
| define | STR_PATH_SEPARATOR "/" |
Public Types Documentation¶
typedef FILEIO_BACKUP_BUFFER¶
typedef FILEIO_BACKUP_DB_BUFFER¶
typedef FILEIO_BACKUP_HEADER¶
enum FILEIO_BACKUP_LEVEL¶
enum FILEIO_BACKUP_LEVEL {
FILEIO_BACKUP_FULL_LEVEL = 0,
FILEIO_BACKUP_BIG_INCREMENT_LEVEL,
FILEIO_BACKUP_SMALL_INCREMENT_LEVEL,
FILEIO_BACKUP_UNDEFINED_LEVEL
};
typedef FILEIO_BACKUP_PAGE¶
typedef FILEIO_BACKUP_RECORD_INFO¶
typedef FILEIO_BACKUP_SESSION¶
enum FILEIO_BACKUP_TYPE¶
enum FILEIO_BACKUP_VOL_TYPE¶
enum FILEIO_BACKUP_VOL_TYPE {
FILEIO_BACKUP_VOL_UNKNOWN,
FILEIO_BACKUP_VOL_DIRECTORY,
FILEIO_BACKUP_VOL_DEVICE
};
enum FILEIO_LOCKF_TYPE¶
typedef FILEIO_NODE¶
typedef FILEIO_PAGE¶
typedef FILEIO_PAGE_RESERVED¶
typedef FILEIO_PAGE_WATERMARK¶
typedef FILEIO_QUEUE¶
enum FILEIO_REMOTE_PROMPT_TYPE¶
enum FILEIO_REMOTE_PROMPT_TYPE {
FILEIO_PROMPT_UNKNOWN,
FILEIO_PROMPT_RANGE_TYPE,
FILEIO_PROMPT_BOOLEAN_TYPE,
FILEIO_PROMPT_STRING_TYPE,
FILEIO_PROMPT_RANGE_WITH_SECONDARY_STRING_TYPE,
FILEIO_PROMPT_DISPLAY_ONLY
};
typedef FILEIO_RESTORE_PAGE_BITMAP¶
typedef FILEIO_RESTORE_PAGE_BITMAP_LIST¶
typedef FILEIO_THREAD_INFO¶
enum FILEIO_TYPE¶
typedef FILEIO_UNLINKED_VOLINFO_MAP¶
enum FILEIO_WRITE_MODE¶
typedef FILEIO_ZIP_INFO¶
enum FILEIO_ZIP_LEVEL¶
enum FILEIO_ZIP_LEVEL {
FILEIO_ZIP_NONE_LEVEL,
FILEIO_ZIP_1_LEVEL,
FILEIO_ZIP_UNDEFINED_LEVEL,
FILEIO_ZIP_LZ4_DEFAULT_LEVEL = FILEIO_ZIP_1_LEVEL
};
enum FILEIO_ZIP_METHOD¶
enum FILEIO_ZIP_METHOD {
FILEIO_ZIP_NONE_METHOD,
FILEIO_ZIP_LZO1X_METHOD,
FILEIO_ZIP_ZLIB_METHOD,
FILEIO_ZIP_LZ4_METHOD,
FILEIO_ZIP_UNDEFINED_METHOD
};
typedef FILEIO_ZIP_PAGE¶
typedef FLUSH_STATS¶
typedef TOKEN_BUCKET¶
Public Functions Documentation¶
function fileio_abort_backup¶
void fileio_abort_backup (
THREAD_ENTRY * thread_p,
FILEIO_BACKUP_SESSION * session,
bool does_unformat_bk
)
function fileio_abort_restore¶
function fileio_add_volume_to_backup_info¶
int fileio_add_volume_to_backup_info (
const char * name,
FILEIO_BACKUP_LEVEL level,
int unit_num,
int which_bkvinf
)
function fileio_backup_volume¶
int fileio_backup_volume (
THREAD_ENTRY * thread_p,
FILEIO_BACKUP_SESSION * session,
const char * from_vlabel,
VOLID from_volid,
PAGEID last_page,
bool only_updated_pages
)
function fileio_clear_backup_info_level¶
function fileio_close¶
function fileio_copy_volume¶
int fileio_copy_volume (
THREAD_ENTRY * thread_p,
int from_vdes,
DKNPAGES npages,
const char * to_vlabel,
VOLID to_volid,
bool reset_recvinfo
)
function fileio_dismount¶
function fileio_dismount_all¶
function fileio_dismount_without_fsync¶
function fileio_finalize_backup_info¶
function fileio_find_next_perm_volume¶
function fileio_find_previous_perm_volume¶
function fileio_find_previous_temp_volume¶
function fileio_find_volume_descriptor_with_label¶
function fileio_find_volume_id_with_label¶
function fileio_finish_backup¶
FILEIO_BACKUP_SESSION * fileio_finish_backup (
THREAD_ENTRY * thread_p,
FILEIO_BACKUP_SESSION * session
)
function fileio_finish_restore¶
function fileio_flush_control_add_tokens¶
int fileio_flush_control_add_tokens (
THREAD_ENTRY * thread_p,
INT64 diff_usec,
int * token_gen,
int * token_consumed
)
function fileio_flush_control_finalize¶
function fileio_flush_control_initialize¶
function fileio_format¶
int fileio_format (
THREAD_ENTRY * thread_p,
const char * db_fullname,
const char * vlabel,
VOLID volid,
DKNPAGES npages,
bool sweep_clean,
bool dolock,
bool dosync,
size_t page_size,
int kbytes_to_be_written_per_sec,
bool reuse_file
)
function fileio_fsync_pending¶
function fileio_get_backup_info_volume_name¶
const char * fileio_get_backup_info_volume_name (
FILEIO_BACKUP_LEVEL level,
int unit_num,
int which_bkvinf
)
function fileio_get_backup_volume¶
int fileio_get_backup_volume (
THREAD_ENTRY * thread_p,
const char * db_fullname,
const char * logpath,
const char * user_backuppath,
int try_level,
char * from_volbackup
)
function fileio_get_base_file_name¶
function fileio_get_directory_path¶
function fileio_get_max_name¶
function fileio_get_next_restore_file¶
int fileio_get_next_restore_file (
THREAD_ENTRY * thread_p,
FILEIO_BACKUP_SESSION * session,
char * filename,
VOLID * volid
)
function fileio_get_number_of_partition_free_pages¶
function fileio_get_number_of_partition_free_sectors¶
function fileio_get_number_of_volume_pages¶
function fileio_get_volume_descriptor¶
function fileio_get_volume_label¶
function fileio_get_volume_label_by_fd¶
function fileio_get_volume_max_suffix¶
function fileio_get_zip_level_string¶
function fileio_get_zip_method_string¶
function fileio_initialize_backup¶
FILEIO_BACKUP_SESSION * fileio_initialize_backup (
const char * db_fullname,
const char * backup_destination,
FILEIO_BACKUP_SESSION * session,
FILEIO_BACKUP_LEVEL level,
const char * verbose_file_path,
int num_threads,
int sleep_msecs
)
function fileio_initialize_pages¶
void * fileio_initialize_pages (
THREAD_ENTRY * thread_p,
int vdes,
FILEIO_PAGE * io_pgptr,
DKNPAGES start_pageid,
DKNPAGES npages,
size_t page_size,
bool ensure_metadata,
int kbytes_to_be_written_per_sec
)
function fileio_initialize_res¶
function fileio_is_formatted_page¶
function fileio_is_permanent_volume_descriptor¶
function fileio_is_temp_volume¶
function fileio_is_volume_exist¶
function fileio_is_volume_exist_and_file¶
function fileio_list_restore¶
int fileio_list_restore (
THREAD_ENTRY * thread_p,
const char * db_fullname,
char * backup_source,
FILEIO_BACKUP_LEVEL level,
bool newvolpath
)
function fileio_lob_remove_dir¶
function fileio_lob_remove_matching_dir¶
function fileio_lock_la_dbname¶
function fileio_lock_la_log_path¶
FILEIO_LOCKF_TYPE fileio_lock_la_log_path (
const char * db_fullname,
const char * lock_path,
int vdes,
int * last_deleted_arv_num
)
function fileio_make_backup_name¶
void fileio_make_backup_name (
char * backup_name,
const char * nopath_volname,
const char * backup_path,
FILEIO_BACKUP_LEVEL level,
int unit_num
)
function fileio_make_backup_volume_info_name¶
void fileio_make_backup_volume_info_name (
char * backup_volinfo_name,
const char * backinfo_path,
const char * dbname
)
function fileio_make_dwb_name¶
function fileio_make_keys_name¶
function fileio_make_keys_name_given_path¶
void fileio_make_keys_name_given_path (
char * keys_name_p,
const char * keys_path_p,
const char * db_name_p
)
function fileio_make_log_active_name¶
void fileio_make_log_active_name (
char * logactive_name,
const char * log_path,
const char * dbname
)
function fileio_make_log_archive_name¶
void fileio_make_log_archive_name (
char * logarchive_name,
const char * log_path,
const char * dbname,
int arvnum
)
function fileio_make_log_archive_temp_name¶
void fileio_make_log_archive_temp_name (
char * log_archive_temp_name_p,
const char * log_path_p,
const char * db_name_p
)
function fileio_make_log_info_name¶
function fileio_make_removed_log_archive_name¶
void fileio_make_removed_log_archive_name (
char * logarchive_name,
const char * log_path,
const char * dbname
)
function fileio_make_temp_log_files_from_backup¶
void fileio_make_temp_log_files_from_backup (
char * temp_log_name,
VOLID volid,
FILEIO_BACKUP_LEVEL level,
const char * base_log_name
)
function fileio_make_volume_ext_given_name¶
void fileio_make_volume_ext_given_name (
char * volext_fullname,
const char * ext_path,
const char * ext_name
)
function fileio_make_volume_ext_name¶
void fileio_make_volume_ext_name (
char * volext_fullname,
const char * ext_path,
const char * ext_name,
VOLID volid
)
function fileio_make_volume_info_name¶
function fileio_make_volume_temp_name¶
void fileio_make_volume_temp_name (
char * voltmp_fullname,
const char * tmp_path,
const char * tmp_name,
VOLID volid
)
function fileio_map_mounted¶
bool fileio_map_mounted (
THREAD_ENTRY * thread_p,
bool (*)( THREAD_ENTRY *thread_p, VOLID volid, void *args) fun,
void * args
)
function fileio_mount¶
int fileio_mount (
THREAD_ENTRY * thread_p,
const char * db_fullname,
const char * vlabel,
VOLID volid,
int lockwait,
bool dosync
)
function fileio_open¶
function fileio_os_sysconf¶
function fileio_page_bitmap_create¶
function fileio_page_bitmap_list_add¶
void fileio_page_bitmap_list_add (
FILEIO_RESTORE_PAGE_BITMAP_LIST * page_bitmap_list,
FILEIO_RESTORE_PAGE_BITMAP * page_bitmap
)
function fileio_page_bitmap_list_destroy¶
function fileio_page_bitmap_list_find¶
FILEIO_RESTORE_PAGE_BITMAP * fileio_page_bitmap_list_find (
FILEIO_RESTORE_PAGE_BITMAP_LIST * page_bitmap_list,
int vol_id
)
function fileio_page_bitmap_list_init¶
function fileio_page_check_corruption¶
int fileio_page_check_corruption (
THREAD_ENTRY * thread_p,
FILEIO_PAGE * io_page,
bool * is_page_corrupted
)
function fileio_page_hexa_dump¶
function fileio_read¶
void * fileio_read (
THREAD_ENTRY * thread_p,
int vol_fd,
void * io_page_p,
PAGEID page_id,
size_t page_size
)
function fileio_read_backup_info_entries¶
function fileio_read_pages¶
void * fileio_read_pages (
THREAD_ENTRY * thread_p,
int vol_fd,
char * io_pages_p,
PAGEID page_id,
int num_pages,
size_t page_size
)
function fileio_read_user_area¶
void * fileio_read_user_area (
THREAD_ENTRY * thread_p,
int vdes,
PAGEID pageid,
off_t start_offset,
size_t nbytes,
void * area
)
function fileio_remove_all_backup¶
function fileio_rename¶
function fileio_request_user_response¶
int fileio_request_user_response (
THREAD_ENTRY * thread_p,
FILEIO_REMOTE_PROMPT_TYPE prompt_id,
const char * prompt,
char * response,
const char * failure_prompt,
int range_low,
int range_high,
const char * secondary_prompt,
int reprompt_value
)
function fileio_reset_volume¶
int fileio_reset_volume (
THREAD_ENTRY * thread_p,
int vdes,
const char * vlabel,
DKNPAGES npages,
const LOG_LSA * reset_lsa
)
function fileio_restore_volume¶
int fileio_restore_volume (
THREAD_ENTRY * thread_p,
FILEIO_BACKUP_SESSION * session,
char * to_vlabel,
char * verbose_to_vlabel,
char * prev_vlabel,
FILEIO_RESTORE_PAGE_BITMAP * page_bitmap,
bool remember_pages,
bool & is_prev_vheader_restored,
FILEIO_UNLINKED_VOLINFO_MAP & unlinked_vol_info
)
function fileio_set_page_checksum¶
function fileio_set_permission¶
function fileio_skip_restore_volume¶
function fileio_start_backup¶
FILEIO_BACKUP_SESSION * fileio_start_backup (
THREAD_ENTRY * thread_p,
const char * db_fullname,
INT64 * db_creation,
FILEIO_BACKUP_LEVEL backup_level,
LOG_LSA * backup_start_lsa,
LOG_LSA * backup_ckpt_lsa,
FILEIO_BACKUP_RECORD_INFO * all_levels_info,
FILEIO_BACKUP_SESSION * session,
FILEIO_ZIP_METHOD zip_method,
FILEIO_ZIP_LEVEL zip_level
)
function fileio_start_restore¶
FILEIO_BACKUP_SESSION * fileio_start_restore (
THREAD_ENTRY * thread_p,
const char * db_fullname,
char * backup_source,
INT64 match_dbcreation,
PGLENGTH * db_iopagesize,
float * db_compatibility,
FILEIO_BACKUP_SESSION * session,
FILEIO_BACKUP_LEVEL level,
bool authenticate,
INT64 match_bkupcreation,
const char * restore_verbose_file_path,
bool newvolpath
)
function fileio_symlink¶
function fileio_synchronize¶
int fileio_synchronize (
THREAD_ENTRY * thread_p,
int vdes,
const char * vlabel,
bool ensure_metadata
)
function fileio_synchronize_all¶
function fileio_synchronize_directory¶
function fileio_truncate¶
function fileio_unformat¶
function fileio_unformat_and_rename¶
void fileio_unformat_and_rename (
THREAD_ENTRY * thread_p,
const char * vlabel,
const char * new_vlabel
)
function fileio_unlock_la_dbname¶
function fileio_write¶
void * fileio_write (
THREAD_ENTRY * thread_p,
int vol_fd,
void * io_page_p,
PAGEID page_id,
size_t page_size,
FILEIO_WRITE_MODE write_mode
)
function fileio_write_backup_info_entries¶
function fileio_write_or_add_to_dwb¶
void * fileio_write_or_add_to_dwb (
THREAD_ENTRY * thread_p,
int vol_fd,
FILEIO_PAGE * io_page_p,
PAGEID page_id,
size_t page_size,
bool ensure_metadata
)
function fileio_write_pages¶
void * fileio_write_pages (
THREAD_ENTRY * thread_p,
int vol_fd,
char * io_pages_p,
PAGEID page_id,
int num_pages,
size_t page_size,
FILEIO_WRITE_MODE write_mode
)
function fileio_write_user_area¶
void * fileio_write_user_area (
THREAD_ENTRY * thread_p,
int vdes,
PAGEID pageid,
off_t start_offset,
int nbytes,
void * area
)
function fileio_writev¶
void * fileio_writev (
THREAD_ENTRY * thread_p,
int vdes,
void ** arrayof_io_pgptr,
PAGEID start_pageid,
DKNPAGES npages,
size_t page_size
)
Public Static Functions Documentation¶
function fileio_get_page_watermark_pos¶
static FILEIO_PAGE_WATERMARK * fileio_get_page_watermark_pos (
FILEIO_PAGE * io_page,
PGLENGTH page_size
)
function fileio_init_lsa_of_page¶
function fileio_is_page_sane¶
function fileio_reset_page_lsa¶
function fileio_set_page_lsa¶
Macro Definition Documentation¶
define ALLOC_COPY¶
define FILEIO_BACKUP_NUM_THREADS_AUTO¶
define FILEIO_BACKUP_SLEEP_MSECS_AUTO¶
define FILEIO_FIRST_BACKUP_VOL_INFO¶
define FILEIO_INITIAL_BACKUP_UNITS¶
define FILEIO_MAX_SUFFIX_LENGTH¶
define FILEIO_MAX_USER_RESPONSE_SIZE¶
define FILEIO_NO_BACKUP_UNITS¶
define FILEIO_PAGE_FLAG_ENCRYPTED_AES¶
define FILEIO_PAGE_FLAG_ENCRYPTED_ARIA¶
define FILEIO_PAGE_FLAG_ENCRYPTED_MASK¶
define FILEIO_PATH_SEPARATOR¶
#define FILEIO_PATH_SEPARATOR (
path
) `(path[ strlen (path) - 1] == PATH_SEPARATOR ? "" : STR_PATH_SEPARATOR )`
define FILEIO_SECOND_BACKUP_VOL_INFO¶
define FILEIO_SUFFIX_BACKUP¶
define FILEIO_SUFFIX_BACKUP_VOLINFO¶
define FILEIO_SUFFIX_DWB¶
define FILEIO_SUFFIX_KEYS¶
define FILEIO_SUFFIX_LOGACTIVE¶
define FILEIO_SUFFIX_LOGARCHIVE¶
define FILEIO_SUFFIX_LOGINFO¶
define FILEIO_SUFFIX_TMP_LOGARCHIVE¶
define FILEIO_VOLEXT_PREFIX¶
define FILEIO_VOLINFO_SUFFIX¶
define FILEIO_VOLLOCK_SUFFIX¶
define FILEIO_VOLTMP_PREFIX¶
define NULL_VOLDES¶
define PEEK¶
define STR_PATH_SEPARATOR¶
The documentation for this class was generated from the following file cubrid/src/storage/file_io.h