Skip to content

File file_io.c

FileList > cubrid > src > storage > file_io.c

Go to the source code of this file

  • #include "config.h"
  • #include <atomic>
  • #include <stdlib.h>
  • #include <stddef.h>
  • #include <stdio.h>
  • #include <string.h>
  • #include <fcntl.h>
  • #include <errno.h>
  • #include <time.h>
  • #include <limits.h>
  • #include <sys/stat.h>
  • #include <assert.h>
  • #include <signal.h>
  • #include <dirent.h>
  • #include <unistd.h>
  • #include <sys/time.h>
  • #include <sys/param.h>
  • #include <sys/types.h>
  • #include <sys/uio.h>
  • #include <sys/vfs.h>
  • #include <syslog.h>
  • #include "porting.h"
  • #include "chartype.h"
  • #include "connection_globals.h"
  • #include "file_io.h"
  • #include "compressor.hpp"
  • #include "storage_common.h"
  • #include "memory_alloc.h"
  • #include "error_manager.h"
  • #include "system_parameter.h"
  • #include "message_catalog.h"
  • #include "msgcat_set_log.hpp"
  • #include "object_representation.h"
  • #include "util_func.h"
  • #include "perf_monitor.h"
  • #include "environment_variable.h"
  • #include "connection_error.h"
  • #include "release_string.h"
  • #include "log_common_impl.h"
  • #include "log_volids.hpp"
  • #include "fault_injection.h"
  • #include "es_posix.h"
  • #include "vacuum.h"
  • #include "crypt_opfunc.h"
  • #include "tcp.h"
  • #include "network_interface_sr.h"
  • #include "intl_support.h"
  • #include "tsc_timer.h"
  • #include "thread_worker_pool_impl.hpp"
  • #include "server_support.h"
  • #include "thread_entry_task.hpp"
  • #include "thread_manager.hpp"
  • #include "memory_wrapper.hpp"

Classes

Type Name
struct fileio_backup_file_header
struct fileio_bkvinf_entry
struct fileio_bkvinf_queues
struct fileio_sys_volinfo
struct fileio_sys_volinfo_header
struct fileio_volinfo
struct fileio_volinfo_header

Public Types

Type Name
typedef union fileio_apply_function_arg APPLY_ARG
typedef struct fileio_backup_file_header FILEIO_BACKUP_FILE_HEADER
typedef struct fileio_bkvinf_entry FILEIO_BACKUP_INFO_ENTRY
typedef struct fileio_bkvinf_queues FILEIO_BACKUP_INFO_QUEUE
enum FILEIO_RELOCATION_VOLUME
typedef struct fileio_sys_volinfo_header FILEIO_SYSTEM_VOLUME_HEADER
typedef struct fileio_sys_volinfo FILEIO_SYSTEM_VOLUME_INFO
typedef struct fileio_volinfo_header FILEIO_VOLUME_HEADER
typedef struct fileio_volinfo FILEIO_VOLUME_INFO
typedef bool(* SYS_VOLINFO_APPLY_FN
typedef bool(* VOLINFO_APPLY_FN
union fileio_apply_function_arg

Public Static Attributes

Type Name
FLUSH_STATS fc_Stats
TOKEN_BUCKET * fc_Token_bucket = [**NULL**](freelistheap_8h.md#define-null)
TOKEN_BUCKET fc_Token_bucket_s
FILEIO_BACKUP_INFO_QUEUE fileio_Backup_vol_info_data = /* multi line expression */
int fileio_Flushed_page_count = 0
pthread_mutex_t fileio_Flushed_page_counter_mutex = [**PTHREAD\_MUTEX\_INITIALIZER**](broker__monitor_8c.md#function-timeout)
FILEIO_SYSTEM_VOLUME_HEADER fileio_Sys_vol_info_header = /* multi line expression */
FILEIO_VOLUME_HEADER fileio_Vol_info_header = /* multi line expression */
int io_Bkuptrace_debug = -1

Public Functions

Type Name
void fileio_abort_backup (THREAD_ENTRY * thread_p, FILEIO_BACKUP_SESSION * session_p, bool does_unformat_bk)
void fileio_abort_restore (THREAD_ENTRY * thread_p, FILEIO_BACKUP_SESSION * session_p)
int fileio_add_volume_to_backup_info (const char * name_p, FILEIO_BACKUP_LEVEL level, int unit_num, int which_bkvinf)
int fileio_clear_backup_info_level (int level, bool is_dealloc, int which_bkvinf)
void fileio_close (int vol_fd)
int fileio_copy_volume (THREAD_ENTRY * thread_p, int from_vol_desc, DKNPAGES npages, const char * to_vol_label_p, VOLID to_vol_id, bool is_reset_recovery_info)
void fileio_dismount (THREAD_ENTRY * thread_p, int vol_fd)
void fileio_dismount_all (THREAD_ENTRY * thread_p)
void fileio_dismount_without_fsync (THREAD_ENTRY * thread_p, int vol_fd)
void fileio_finalize_backup_info (int which_bkvinf)
VOLID fileio_find_next_perm_volume (THREAD_ENTRY * thread_p, VOLID volid)
VOLID fileio_find_previous_perm_volume (THREAD_ENTRY * thread_p, VOLID volid)
VOLID fileio_find_previous_temp_volume (THREAD_ENTRY * thread_p, VOLID volid)
int fileio_find_volume_descriptor_with_label (const char * vol_label_p)
VOLID fileio_find_volume_id_with_label (THREAD_ENTRY * thread_p, const char * vol_label_p)
FILEIO_BACKUP_SESSION * fileio_finish_backup (THREAD_ENTRY * thread_p, FILEIO_BACKUP_SESSION * session_p)
int fileio_finish_restore (THREAD_ENTRY * thread_p, FILEIO_BACKUP_SESSION * session_p)
int fileio_flush_control_add_tokens (THREAD_ENTRY * thread_p, INT64 diff_usec, int * token_gen, int * token_consumed)
void fileio_flush_control_finalize (void)
int fileio_flush_control_initialize (void)
int fileio_format (THREAD_ENTRY * thread_p, const char * db_full_name_p, const char * vol_label_p, VOLID vol_id, DKNPAGES npages, bool is_sweep_clean, bool is_do_lock, bool is_do_sync, size_t page_size, int kbytes_to_be_written_per_sec, bool reuse_file)
bool fileio_fsync_pending (void)
const char * fileio_get_backup_info_volume_name (FILEIO_BACKUP_LEVEL level, int unit_num, int which_bkvinf)
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)
const char * fileio_get_base_file_name (const char * full_name_p)
char * fileio_get_directory_path (char * path_p, const char * full_name_p)
int fileio_get_max_name (const char * given_path_p, long int * file_name_max_p, long int * path_name_max_p)
int fileio_get_next_restore_file (THREAD_ENTRY * thread_p, FILEIO_BACKUP_SESSION * session_p, char * file_name_p, VOLID * vol_id_p)
int fileio_get_number_of_partition_free_pages (const char * path_p, size_t page_size)
DKNSECTS fileio_get_number_of_partition_free_sectors (const char * path_p)
DKNPAGES fileio_get_number_of_volume_pages (int vol_fd, size_t page_size)
int fileio_get_volume_descriptor (VOLID vol_id)
char * fileio_get_volume_label (VOLID vol_id, bool is_peek)
char * fileio_get_volume_label_by_fd (int vol_fd, bool is_peek)
int fileio_get_volume_max_suffix (void)
const char * fileio_get_zip_level_string (FILEIO_ZIP_LEVEL zip_level)
const char * fileio_get_zip_method_string (FILEIO_ZIP_METHOD zip_method)
FILEIO_BACKUP_SESSION * fileio_initialize_backup (const char * db_full_name_p, const char * backup_destination_p, FILEIO_BACKUP_SESSION * session_p, FILEIO_BACKUP_LEVEL level, const char * verbose_file_path, int num_threads, int sleep_msecs)
void * fileio_initialize_pages (THREAD_ENTRY * thread_p, int vol_fd, FILEIO_PAGE * io_page_p, DKNPAGES start_pageid, DKNPAGES npages, size_t page_size, bool ensure_metadata, int kbytes_to_be_written_per_sec)
void fileio_initialize_res (THREAD_ENTRY * thread_p, FILEIO_PAGE * io_page, PGLENGTH page_size)
bool fileio_is_formatted_page (THREAD_ENTRY * thread_p, const char * io_page)
bool fileio_is_permanent_volume_descriptor (THREAD_ENTRY * thread_p, int vol_fd)
bool fileio_is_temp_volume (THREAD_ENTRY * thread_p, VOLID volid)
bool fileio_is_volume_exist (const char * vol_label_p)
bool fileio_is_volume_exist_and_file (const char * vol_label_p)
int fileio_list_restore (THREAD_ENTRY * thread_p, const char * db_full_name_p, char * backup_source_p, FILEIO_BACKUP_LEVEL level, bool is_new_vol_path)
int fileio_lob_remove_dir (char * path)
int fileio_lob_remove_matching_dir (const char * keyword)
FILEIO_LOCKF_TYPE fileio_lock_la_dbname (int * lockf_vdes, char * db_name, char * log_path)
FILEIO_LOCKF_TYPE fileio_lock_la_log_path (const char * db_full_name_p, const char * lock_path_p, int vol_fd, int * last_deleted_arv_num)
void fileio_make_backup_name (char * backup_name_p, const char * no_path_vol_name_p, const char * backup_path_p, FILEIO_BACKUP_LEVEL level, int unit_num)
void fileio_make_backup_volume_info_name (char * backup_volinfo_name_p, const char * backup_info_path_p, const char * db_name_p)
void fileio_make_dwb_name (char * dwb_name_p, const char * dwb_path_p, const char * db_name_p)
void fileio_make_keys_name (char * keys_name_p, const char * db_full_name_p)
void fileio_make_keys_name_given_path (char * keys_name_p, const char * keys_path_p, const char * db_name_p)
void fileio_make_log_active_name (char * log_active_name_p, const char * log_path_p, const char * db_name_p)
void fileio_make_log_archive_name (char * log_archive_name_p, const char * log_path_p, const char * db_name_p, int archive_number)
void fileio_make_log_archive_temp_name (char * log_archive_temp_name_p, const char * log_path_p, const char * db_name_p)
void fileio_make_log_info_name (char * log_info_name_p, const char * log_path_p, const char * db_name_p)
void fileio_make_removed_log_archive_name (char * log_archive_name_p, const char * log_path_p, const char * db_name_p)
void fileio_make_temp_log_files_from_backup (char * temp_log_name, VOLID to_volid, FILEIO_BACKUP_LEVEL level, const char * base_log_name)
void fileio_make_volume_ext_given_name (char * vol_ext_full_name_p, const char * ext_path_p, const char * ext_name_p)
void fileio_make_volume_ext_name (char * vol_ext_full_name_p, const char * ext_path_p, const char * ext_name_p, VOLID vol_id)
void fileio_make_volume_info_name (char * vol_info_name_p, const char * db_full_name_p)
void fileio_make_volume_temp_name (char * vol_tmp_full_name_p, const char * tmp_path_p, const char * tmp_name_p, VOLID vol_id)
bool fileio_map_mounted (THREAD_ENTRY * thread_p, bool(*)(THREAD_ENTRY *thread_p, VOLID vol_id, void *args) fun, void * args)
int fileio_mount (THREAD_ENTRY * thread_p, const char * db_full_name_p, const char * vol_label_p, VOLID vol_id, int lock_wait, bool is_do_sync)
int fileio_open (const char * vol_label_p, int flags, int mode)
int fileio_os_sysconf (void)
FILEIO_RESTORE_PAGE_BITMAP * fileio_page_bitmap_create (int vol_id, int total_pages)
void fileio_page_bitmap_list_add (FILEIO_RESTORE_PAGE_BITMAP_LIST * page_bitmap_list, FILEIO_RESTORE_PAGE_BITMAP * page_bitmap)
void fileio_page_bitmap_list_destroy (FILEIO_RESTORE_PAGE_BITMAP_LIST * page_bitmap_list)
FILEIO_RESTORE_PAGE_BITMAP * fileio_page_bitmap_list_find (FILEIO_RESTORE_PAGE_BITMAP_LIST * page_bitmap_list, int vol_id)
void fileio_page_bitmap_list_init (FILEIO_RESTORE_PAGE_BITMAP_LIST * page_bitmap_list)
int fileio_page_check_corruption (THREAD_ENTRY * thread_p, FILEIO_PAGE * io_page, bool * is_page_corrupted)
void fileio_page_hexa_dump (const char * src_data, int length)
void * fileio_read (THREAD_ENTRY * thread_p, int vol_fd, void * io_page_p, PAGEID page_id, size_t page_size)
int fileio_read_backup_info_entries (FILE * fp, int which_bkvinf)
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)
void * fileio_read_user_area (THREAD_ENTRY * thread_p, int vol_fd, PAGEID page_id, off_t start_offset, size_t nbytes, void * area_p)
void fileio_remove_all_backup (THREAD_ENTRY * thread_p, int start_level)
const char * fileio_rename (VOLID vol_id, const char * old_label_p, const char * new_label_p)
int fileio_request_user_response (THREAD_ENTRY * thread_p, FILEIO_REMOTE_PROMPT_TYPE prompt_id, const char * prompt_p, char * response_p, const char * failure_prompt_p, int range_low, int range_high, const char * secondary_prompt_p, int reprompt_value)
int fileio_reset_volume (THREAD_ENTRY * thread_p, int vol_fd, const char * vlabel, DKNPAGES npages, const LOG_LSA * reset_lsa_p)
int fileio_set_permission (const char * vol_label_p)
int fileio_skip_restore_volume (THREAD_ENTRY * thread_p, FILEIO_BACKUP_SESSION * session_p)
FILEIO_BACKUP_SESSION * fileio_start_backup (THREAD_ENTRY * thread_p, const char * db_full_name_p, INT64 * db_creation_time_p, FILEIO_BACKUP_LEVEL backup_level, LOG_LSA * backup_start_lsa_p, LOG_LSA * backup_checkpoint_lsa_p, FILEIO_BACKUP_RECORD_INFO * all_levels_info_p, FILEIO_BACKUP_SESSION * session_p, FILEIO_ZIP_METHOD zip_method, FILEIO_ZIP_LEVEL zip_level)
FILEIO_BACKUP_SESSION * fileio_start_restore (THREAD_ENTRY * thread_p, const char * db_full_name_p, char * backup_source_p, INT64 match_db_creation_time, PGLENGTH * db_io_page_size_p, float * db_compatibility_p, FILEIO_BACKUP_SESSION * session_p, FILEIO_BACKUP_LEVEL level, bool is_authenticate, INT64 match_backup_creation_time, const char * restore_verbose_file_path, bool is_new_vol_path)
int fileio_symlink (const char * src_p, const char * dest_p, int overwrite)
int fileio_synchronize (THREAD_ENTRY * thread_p, int vol_fd, const char * vlabel, bool ensure_metadata)
int fileio_synchronize_all (THREAD_ENTRY * thread_p)
int fileio_synchronize_directory (THREAD_ENTRY * thread_p, const char * label)
DKNPAGES fileio_truncate (VOLID vol_id, DKNPAGES npages_to_resize)
void fileio_unformat (THREAD_ENTRY * thread_p, const char * vol_label_p)
void fileio_unformat_and_rename (THREAD_ENTRY * thread_p, const char * vol_label_p, const char * new_label_p)
FILEIO_LOCKF_TYPE fileio_unlock_la_dbname (int * lockf_vdes, char * db_name, bool clear_owner)
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)
int fileio_write_backup_info_entries (FILE * fp, int which_bkvinf)
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)
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)
void * fileio_write_user_area (THREAD_ENTRY * thread_p, int vol_fd, PAGEID page_id, off_t start_offset, int nbytes, void * area_p)
void * fileio_writev (THREAD_ENTRY * thread_p, int vol_fd, void ** io_page_array, PAGEID start_page_id, DKNPAGES npages, size_t page_size)

Public Static Functions

Type Name
int fileio_allocate_and_initialize_volume_info (FILEIO_VOLUME_HEADER * header_p, int idx)
FILEIO_BACKUP_INFO_ENTRY * fileio_allocate_backup_info (int which_bkvinf)
FILEIO_NODE * fileio_allocate_node (FILEIO_QUEUE * qp, FILEIO_BACKUP_HEADER * backup_hdr)
FILEIO_NODE * fileio_append_queue (FILEIO_QUEUE * qp, FILEIO_NODE * node)
int fileio_cache (VOLID volid, const char * vlabel, int vdes, FILEIO_LOCKF_TYPE lockf_type)
char * fileio_check_file_exist (char * name_p, char * new_guess_path_p, int check_size, int * max_name_size_p)
char * fileio_check_file_is_same (char * name_p, char * new_guess_path_p, int check_size, int * max_name_size_p, struct stat * buf)
void fileio_check_lockby_file (char * name_info_lock_p)
void fileio_compensate_flush (THREAD_ENTRY * thread_p, int fd, int npage)
int fileio_compress_backup_node (FILEIO_NODE * node, FILEIO_BACKUP_HEADER * backup_hdr)
FILEIO_BACKUP_SESSION * fileio_continue_restore (THREAD_ENTRY * thread_p, const char * db_fullname, INT64 db_creation, FILEIO_BACKUP_SESSION * session, bool first_time, bool authenticate, INT64 match_bkupcreation)
int fileio_create (THREAD_ENTRY * thread_p, const char * db_fullname, const char * vlabel, VOLID volid, bool dolock, bool dosync)
int fileio_create_backup_volume (THREAD_ENTRY * thread_p, const char * db_fullname, const char * vlabel, VOLID volid, bool dolock, bool dosync, int atleast_pages)
char * fileio_ctime (INT64 * clock, char * buf)
void fileio_decache (THREAD_ENTRY * thread_p, int vdes)
int fileio_decompress_restore_volume (THREAD_ENTRY * thread_p, FILEIO_BACKUP_SESSION * session, int nbytes)
FILEIO_NODE * fileio_delete_queue_head (FILEIO_QUEUE * qp)
bool fileio_dismount_volume (THREAD_ENTRY * thread_p, FILEIO_VOLUME_INFO * vol_info_p, APPLY_ARG * ignore_arg)
int fileio_expand_permanent_volume_info (FILEIO_VOLUME_HEADER * header, int volid)
int fileio_expand_temporary_volume_info (FILEIO_VOLUME_HEADER * header, int volid)
int fileio_fill_hole_during_restore (THREAD_ENTRY * thread_p, int * next_pageid, int stop_pageid, FILEIO_BACKUP_SESSION * session, FILEIO_RESTORE_PAGE_BITMAP * page_bitmap)
void fileio_finalize_backup_thread (FILEIO_BACKUP_SESSION * session_p, FILEIO_ZIP_METHOD zip_method)
FILEIO_RELOCATION_VOLUME fileio_find_restore_volume (THREAD_ENTRY * thread_p, const char * dbname, char * to_volname, int unit_num, FILEIO_BACKUP_LEVEL level, int reason)
FILEIO_SYSTEM_VOLUME_INFO * fileio_find_system_volume (THREAD_ENTRY * thread_p, SYS_VOLINFO_APPLY_FN apply_function, APPLY_ARG * arg)
int fileio_flush_backup (THREAD_ENTRY * thread_p, FILEIO_BACKUP_SESSION * session)
int fileio_flush_control_get_desired_rate (TOKEN_BUCKET * tb)
int fileio_flush_control_get_token (THREAD_ENTRY * thread_p, int ntoken)
FILEIO_NODE * fileio_free_node (FILEIO_QUEUE * qp, FILEIO_NODE * node)
const char * fileio_get_backup_level_string (FILEIO_BACKUP_LEVEL level)
int fileio_get_lock (int fd, const char * vlabel)
FILEIO_LOCKF_TYPE fileio_get_lockf_type (int vdes)
int fileio_get_next_backup_volume (THREAD_ENTRY * thread_p, FILEIO_BACKUP_SESSION * session, bool user_new)
int fileio_get_primitive_way_max (const char * path, long int * filename_max, long int * pathname_max)
VOLID fileio_get_volume_id (int vdes)
int fileio_increase_flushed_page_count (int npages)
int fileio_initialize_backup_info (int which_bkvinf)
int fileio_initialize_backup_thread (FILEIO_BACKUP_SESSION * session_p, int num_threads)
FILEIO_BACKUP_SESSION * fileio_initialize_restore (THREAD_ENTRY * thread_p, const char * db_fullname, char * backup_src, FILEIO_BACKUP_SESSION * session, FILEIO_BACKUP_LEVEL level, const char * restore_verbose_file_path, bool newvolpath)
int fileio_initialize_volume_info_cache (void)
bool fileio_is_system_volume_descriptor_equal (THREAD_ENTRY * thread_p, FILEIO_SYSTEM_VOLUME_INFO * sys_vol_info_p, APPLY_ARG * arg)
bool fileio_is_system_volume_id_equal (THREAD_ENTRY * thread_p, FILEIO_SYSTEM_VOLUME_INFO * sys_vol_info_p, APPLY_ARG * arg)
bool fileio_is_system_volume_label_equal (THREAD_ENTRY * thread_p, FILEIO_SYSTEM_VOLUME_INFO * sys_vol_info_p, APPLY_ARG * arg)
bool fileio_is_terminated_process (int pid)
bool fileio_is_volume_descriptor_equal (THREAD_ENTRY * thread_p, FILEIO_VOLUME_INFO * vol_info_p, APPLY_ARG * arg)
bool fileio_is_volume_id_equal (THREAD_ENTRY * thread_p, FILEIO_VOLUME_INFO * vol_info_p, APPLY_ARG * arg)
bool fileio_is_volume_id_gt (THREAD_ENTRY * thread_p, FILEIO_VOLUME_INFO * vol_info_p, APPLY_ARG * arg)
bool fileio_is_volume_id_lt (THREAD_ENTRY * thread_p, FILEIO_VOLUME_INFO * vol_info_p, APPLY_ARG * arg)
bool fileio_is_volume_label_equal (THREAD_ENTRY * thread_p, FILEIO_VOLUME_INFO * vol_info_p, APPLY_ARG * arg)
FILEIO_LOCKF_TYPE fileio_lock (const char * db_fullname, const char * vlabel, int vdes, bool dowait)
int fileio_lock_region (int fd, int cmd, int type, off_t offset, int whence, off_t len)
int fileio_make_error_message (THREAD_ENTRY * thread_p, char * error_message_p)
void fileio_make_volume_lock_name (char * vol_lockname, const char * vol_fullname)
int fileio_max_permanent_volumes (int index, int num_permanent_volums)
int fileio_min_temporary_volumes (int index, int num_temp_volums, int num_volinfo_array)
ssize_t fileio_os_read (THREAD_ENTRY * thread_p, int vol_fd, void * io_page_p, size_t count, off_t offset)
ssize_t fileio_os_write (THREAD_ENTRY * thread_p, int vol_fd, void * io_page_p, size_t count, off_t offset)
void fileio_page_bitmap_dump (FILE * out_fp, const FILEIO_RESTORE_PAGE_BITMAP * page_bitmap)
bool fileio_page_bitmap_is_set (FILEIO_RESTORE_PAGE_BITMAP * page_bitmap, int page_id)
void fileio_page_bitmap_set (FILEIO_RESTORE_PAGE_BITMAP * page_bitmap, int page_id)
ssize_t fileio_read_backup (THREAD_ENTRY * thread_p, FILEIO_BACKUP_SESSION * session, int pageid)
void fileio_read_backup_end_time_from_last_page (FILEIO_BACKUP_SESSION * session_p)
void fileio_read_backup_volume (THREAD_ENTRY * thread_p, FILEIO_BACKUP_SESSION * session)
void fileio_read_backup_volume_execute (cubthread::entry & thread_ref, FILEIO_BACKUP_SESSION * back_session)
int fileio_read_restore (THREAD_ENTRY * thread_p, FILEIO_BACKUP_SESSION * session, int toread_nbytes)
int fileio_read_restore_header (FILEIO_BACKUP_SESSION * session)
int fileio_release_lock (int fd)
FILEIO_VOLUME_INFO * fileio_reverse_traverse_permanent_volume (THREAD_ENTRY * thread_p, VOLINFO_APPLY_FN apply_function, APPLY_ARG * arg)
FILEIO_VOLUME_INFO * fileio_reverse_traverse_temporary_volume (THREAD_ENTRY * thread_p, VOLINFO_APPLY_FN apply_function, APPLY_ARG * arg)
int fileio_start_backup_thread (THREAD_ENTRY * thread_p, FILEIO_BACKUP_SESSION * session_p, FILEIO_THREAD_INFO * thread_info_p, int from_npages, bool is_only_updated_pages, int check_ratio, int check_npages, FILEIO_QUEUE * queue_p)
int fileio_synchronize_bg_archive_volume (THREAD_ENTRY * thread_p)
bool fileio_synchronize_sys_volume (THREAD_ENTRY * thread_p, FILEIO_SYSTEM_VOLUME_INFO * vol_sys_info_p, APPLY_ARG * arg)
bool fileio_synchronize_volume (THREAD_ENTRY * thread_p, FILEIO_VOLUME_INFO * vol_info_p, APPLY_ARG * arg)
FILEIO_VOLUME_INFO * fileio_traverse_permanent_volume (THREAD_ENTRY * thread_p, VOLINFO_APPLY_FN apply_function, APPLY_ARG * arg)
FILEIO_SYSTEM_VOLUME_INFO * fileio_traverse_system_volume (THREAD_ENTRY * thread_p, SYS_VOLINFO_APPLY_FN apply_function, APPLY_ARG * arg)
FILEIO_VOLUME_INFO * fileio_traverse_temporary_volume (THREAD_ENTRY * thread_p, VOLINFO_APPLY_FN apply_function, APPLY_ARG * arg)
void fileio_unlock (const char * vlabel, int vdes, FILEIO_LOCKF_TYPE lockf_type)
int fileio_write_backup (THREAD_ENTRY * thread_p, FILEIO_BACKUP_SESSION * session, ssize_t towrite_nbytes)
int fileio_write_backup_end_time_to_header (FILEIO_BACKUP_SESSION * session_p, INT64 end_time)
void fileio_write_backup_end_time_to_last_page (FILEIO_BACKUP_SESSION * session_p, INT64 end_time)
int fileio_write_backup_header (FILEIO_BACKUP_SESSION * session)
int fileio_write_backup_node (THREAD_ENTRY * thread_p, FILEIO_BACKUP_SESSION * session, FILEIO_NODE * node, FILEIO_BACKUP_HEADER * backup_hdr)
FILEIO_TYPE fileio_write_backup_volume (THREAD_ENTRY * thread_p, FILEIO_BACKUP_SESSION * session)
void * fileio_write_restore (THREAD_ENTRY * thread_p, FILEIO_RESTORE_PAGE_BITMAP * page_bitmap, int vdes, void * io_pgptr, VOLID vol_id, PAGEID page_id, FILEIO_BACKUP_LEVEL level)
ssize_t pwrite_with_injected_fault (THREAD_ENTRY * thread_p, int fd, const void * buf, size_t count, off_t offset)

Macros

Type Name
define DISABLE_FMT_TRUNC_WARNING /* multi line expression */
define ENABLE_FMT_TRUNC_WARNING [**\_Pragma**](broker__monitor_8c.md#function-timeout)("GCC [**diagnostic**](broker__monitor_8c.md#function-timeout) [**pop"**](broker__monitor_8c.md#function-timeout))
define FILEIO_BACKUP_CURRENT_HEADER_VERSION 2
define FILEIO_BACKUP_DBVOLS_IO_PAGE_SIZE ([**IO\_PAGESIZE**](storage__common_8h.md#define-io_pagesize) + [**FILEIO\_BACKUP\_PAGE\_OVERHEAD**](file__io_8c.md#define-fileio_backup_page_overhead))
define FILEIO_BACKUP_DBVOLS_IO_PAGE_SIZE_FULL_LEVEL ([**FILEIO\_PAGE\_SIZE\_FULL\_LEVEL**](file__io_8c.md#define-fileio_page_size_full_level) + [**FILEIO\_BACKUP\_PAGE\_OVERHEAD**](file__io_8c.md#define-fileio_backup_page_overhead))
define FILEIO_BACKUP_END_PAGE_ID (-3)
define FILEIO_BACKUP_FILE_END_PAGE_ID (-5)
define FILEIO_BACKUP_FILE_HEADER_PAGE_SIZE ([**sizeof**](broker__monitor_8c.md#function-timeout)([**FILEIO\_BACKUP\_FILE\_HEADER**](file__io_8c.md#typedef-fileio_backup_file_header)) + [**offsetof**](broker__monitor_8c.md#function-timeout)([**FILEIO\_BACKUP\_PAGE**](file__io_8h.md#typedef-fileio_backup_page), iopage))
define FILEIO_BACKUP_FILE_START_PAGE_ID (-4)
define FILEIO_BACKUP_HEADER_IO_SIZE [**GET\_NEXT\_1K\_SIZE**](file__io_8c.md#define-get_next_1k_size)([**sizeof**](broker__monitor_8c.md#function-timeout)([**FILEIO\_BACKUP\_HEADER**](file__io_8h.md#typedef-fileio_backup_header)))
define FILEIO_BACKUP_MINIMUM_NUM_PAGES /* multi line expression */
define FILEIO_BACKUP_MINIMUM_NUM_PAGES_FULL_LEVEL /* multi line expression */
define FILEIO_BACKUP_NO_ZIP_HEADER_VERSION 1
define FILEIO_BACKUP_PAGE_OVERHEAD ([**offsetof**](broker__monitor_8c.md#function-timeout)([**FILEIO\_BACKUP\_PAGE**](file__io_8h.md#typedef-fileio_backup_page), iopage) + [**sizeof**](broker__monitor_8c.md#function-timeout)([**PAGEID**](storage__common_8h.md#typedef-pageid)))
define FILEIO_BACKUP_START_PAGE_ID (-2)
define FILEIO_BACKUP_VOL_CONT_PAGE_ID (-6)
define FILEIO_CHECK_AND_INITIALIZE_VOLUME_HEADER_CACHE (rtn) /* multi line expression */
define FILEIO_CHECK_FOR_INTERRUPT_INTERVAL 100
define FILEIO_CHECK_RESTORE_PAGE_ID (area, pagesz) /* multi line expression */
define FILEIO_DBVOLS_IO_PAGE_SIZE (backup_header_p) (([**backup\_header\_p**](broker__monitor_8c.md#function-timeout))-&gt;bkpagesize + [**FILEIO\_BACKUP\_PAGE\_OVERHEAD**](file__io_8c.md#define-fileio_backup_page_overhead))
define FILEIO_DISK_FORMAT_MODE ([**O\_RDWR**](broker__monitor_8c.md#function-timeout) \| [**O\_CREAT**](broker__monitor_8c.md#function-timeout))
define FILEIO_DISK_PROTECTION_MODE 0600
define FILEIO_END_OF_FILE (1)
define FILEIO_FULL_LEVEL_EXP 32
define FILEIO_GET_BACKUP_PAGE_ID (area) ((([**FILEIO\_BACKUP\_PAGE**](file__io_8h.md#typedef-fileio_backup_page) \*)([**area**](structarea.md)))-&gt;iopageid)
define FILEIO_GET_FILE_SIZE (pagesize, npages) ((([**off\_t**](broker__monitor_8c.md#function-timeout))([**pagesize**](broker__monitor_8c.md#function-timeout))) \* (([**off\_t**](broker__monitor_8c.md#function-timeout))(npages)))
define FILEIO_MAX_WAIT_DBTXT 300
define FILEIO_MIN_FLUSH_PAGES_PER_SEC (41943040 / [**IO\_PAGESIZE**](storage__common_8h.md#define-io_pagesize))
define FILEIO_PAGE_FLUSH_DROP_RATE 0.1
define FILEIO_PAGE_FLUSH_GROW_RATE 0.5
define FILEIO_PAGE_SIZE_FULL_LEVEL ([**IO\_PAGESIZE**](storage__common_8h.md#define-io_pagesize) \* [**FILEIO\_FULL\_LEVEL\_EXP**](file__io_8c.md#define-fileio_full_level_exp))
define FILEIO_RESTORE_DBVOLS_IO_PAGE_SIZE (sess) (([**sess**](broker__monitor_8c.md#function-timeout))-&gt;bkup.bkuphdr-&gt;bkpagesize + [**FILEIO\_BACKUP\_PAGE\_OVERHEAD**](file__io_8c.md#define-fileio_backup_page_overhead))
define FILEIO_SET_BACKUP_PAGE_ID (area, pageid, psize) /* multi line expression */
define FILEIO_SET_BACKUP_PAGE_ID_COPY (area, pageid, psize) /* multi line expression */
define FILEIO_USER_NAME_SIZE 9
define FILEIO_VOLINFO_INCREMENT 32
define GETPID () [**getpid**](broker__monitor_8c.md#function-timeout)()
define GET_NEXT_1K_SIZE (s) (((((s) - 1) / 1024) + 1) \* 1024)
define MSGCAT_FILEIO_BACKUP_LABEL_INFO 21
define MSGCAT_FILEIO_BACKUP_TIME_MISMATCH 19
define MSGCAT_FILEIO_BACKUP_VINF_ERROR 20
define MSGCAT_FILEIO_BKUP_FILE 9
define MSGCAT_FILEIO_BKUP_FIND_REASON 24
define MSGCAT_FILEIO_BKUP_HDR 3
define MSGCAT_FILEIO_BKUP_HDR_BKUP_PAGESIZE 27
define MSGCAT_FILEIO_BKUP_HDR_DBINFO 6
define MSGCAT_FILEIO_BKUP_HDR_INC_ACTIVELOG 29
define MSGCAT_FILEIO_BKUP_HDR_LEVEL 7
define MSGCAT_FILEIO_BKUP_HDR_LX_LSA 22
define MSGCAT_FILEIO_BKUP_HDR_MAGICID 4
define MSGCAT_FILEIO_BKUP_HDR_RELEASES 5
define MSGCAT_FILEIO_BKUP_HDR_TIME 8
define MSGCAT_FILEIO_BKUP_HDR_ZIP_INFO 28
define MSGCAT_FILEIO_BKUP_NEEDED 2
define MSGCAT_FILEIO_BKUP_NEXT_BKVOL 26
define MSGCAT_FILEIO_BKUP_PREV_BKVOL 25
define MSGCAT_FILEIO_DB_MISMATCH 17
define MSGCAT_FILEIO_INCORRECT_BKVOLUME 14
define MSGCAT_FILEIO_INPUT_RANGE_ERROR 13
define MSGCAT_FILEIO_LEVEL_MISMATCH 15
define MSGCAT_FILEIO_MAGIC_MISMATCH 16
define MSGCAT_FILEIO_NEWLOCATION 12
define MSGCAT_FILEIO_RESTORE_FIND_REASON 23
define MSGCAT_FILEIO_REST_RELO_NEEDED 10
define MSGCAT_FILEIO_REST_RELO_OPTIONS 11
define MSGCAT_FILEIO_STARTS 1
define MSGCAT_FILEIO_UNIT_NUM_MISMATCH 18
define fileio_lock_file_read (fd, offset, whence, len) [**fileio\_lock\_region**](file__io_8c.md#function-fileio_lock_region)(fd, [**F\_SETLK**](broker__monitor_8c.md#function-timeout), [**F\_RDLCK**](broker__monitor_8c.md#function-timeout), offset, [**whence**](broker__monitor_8c.md#function-timeout), len)
define fileio_lock_file_readw (fd, offset, whence, len) [**fileio\_lock\_region**](file__io_8c.md#function-fileio_lock_region)(fd, [**F\_SETLKW**](broker__monitor_8c.md#function-timeout), [**F\_RDLCK**](broker__monitor_8c.md#function-timeout), offset, [**whence**](broker__monitor_8c.md#function-timeout), len)
define fileio_lock_file_write (fd, offset, whence, len) [**fileio\_lock\_region**](file__io_8c.md#function-fileio_lock_region)(fd, [**F\_SETLK**](broker__monitor_8c.md#function-timeout), [**F\_WRLCK**](broker__monitor_8c.md#function-timeout), offset, [**whence**](broker__monitor_8c.md#function-timeout), len)
define fileio_lock_file_writew (fd, offset, whence, len) [**fileio\_lock\_region**](file__io_8c.md#function-fileio_lock_region)(fd, [**F\_SETLKW**](broker__monitor_8c.md#function-timeout), [**F\_WRLCK**](broker__monitor_8c.md#function-timeout), offset, [**whence**](broker__monitor_8c.md#function-timeout), len)
define fileio_unlock_file (fd, offset, whence, len) [**fileio\_lock\_region**](file__io_8c.md#function-fileio_lock_region)(fd, [**F\_SETLK**](broker__monitor_8c.md#function-timeout), [**F\_UNLCK**](broker__monitor_8c.md#function-timeout), offset, [**whence**](broker__monitor_8c.md#function-timeout), len)

Public Types Documentation

typedef APPLY_ARG

typedef union fileio_apply_function_arg APPLY_ARG;

typedef FILEIO_BACKUP_FILE_HEADER

typedef struct fileio_backup_file_header FILEIO_BACKUP_FILE_HEADER;

typedef FILEIO_BACKUP_INFO_ENTRY

typedef struct fileio_bkvinf_entry FILEIO_BACKUP_INFO_ENTRY;

typedef FILEIO_BACKUP_INFO_QUEUE

typedef struct fileio_bkvinf_queues FILEIO_BACKUP_INFO_QUEUE;

enum FILEIO_RELOCATION_VOLUME

enum FILEIO_RELOCATION_VOLUME {
    FILEIO_RELOCATION_FIRST = 0,
    FILEIO_RELOCATION_QUIT = FILEIO_RELOCATION_FIRST,
    FILEIO_RELOCATION_RETRY,
    FILEIO_RELOCATION_ALTERNATE,
    FILEIO_RELOCATION_LAST = FILEIO_RELOCATION_ALTERNATE
};

typedef FILEIO_SYSTEM_VOLUME_HEADER

typedef struct fileio_sys_volinfo_header FILEIO_SYSTEM_VOLUME_HEADER;

typedef FILEIO_SYSTEM_VOLUME_INFO

typedef struct fileio_sys_volinfo FILEIO_SYSTEM_VOLUME_INFO;

typedef FILEIO_VOLUME_HEADER

typedef struct fileio_volinfo_header FILEIO_VOLUME_HEADER;

typedef FILEIO_VOLUME_INFO

typedef struct fileio_volinfo FILEIO_VOLUME_INFO;

typedef SYS_VOLINFO_APPLY_FN

typedef bool(* SYS_VOLINFO_APPLY_FN) (THREAD_ENTRY *thread_p, FILEIO_SYSTEM_VOLUME_INFO *sys_vol_info_p, APPLY_ARG *arg);

typedef VOLINFO_APPLY_FN

typedef bool(* VOLINFO_APPLY_FN) (THREAD_ENTRY *thread_p, FILEIO_VOLUME_INFO *vol_info_p, APPLY_ARG *arg);

union fileio_apply_function_arg



Public Static Attributes Documentation

variable fc_Stats

FLUSH_STATS fc_Stats;

variable fc_Token_bucket

TOKEN_BUCKET* fc_Token_bucket;

variable fc_Token_bucket_s

TOKEN_BUCKET fc_Token_bucket_s;

variable fileio_Backup_vol_info_data

FILEIO_BACKUP_INFO_QUEUE fileio_Backup_vol_info_data[2];

variable fileio_Flushed_page_count

int fileio_Flushed_page_count;

variable fileio_Flushed_page_counter_mutex

pthread_mutex_t fileio_Flushed_page_counter_mutex;

variable fileio_Sys_vol_info_header

FILEIO_SYSTEM_VOLUME_HEADER fileio_Sys_vol_info_header;

variable fileio_Vol_info_header

FILEIO_VOLUME_HEADER fileio_Vol_info_header;

variable io_Bkuptrace_debug

int io_Bkuptrace_debug;

Public Functions Documentation

function fileio_abort_backup

void fileio_abort_backup (
    THREAD_ENTRY * thread_p,
    FILEIO_BACKUP_SESSION * session_p,
    bool does_unformat_bk
) 

function fileio_abort_restore

void fileio_abort_restore (
    THREAD_ENTRY * thread_p,
    FILEIO_BACKUP_SESSION * session_p
) 

function fileio_add_volume_to_backup_info

int fileio_add_volume_to_backup_info (
    const  char * name_p,
    FILEIO_BACKUP_LEVEL level,
    int unit_num,
    int which_bkvinf
) 

function fileio_clear_backup_info_level

int fileio_clear_backup_info_level (
    int level,
    bool is_dealloc,
    int which_bkvinf
) 

function fileio_close

void fileio_close (
    int vol_fd
) 

function fileio_copy_volume

int fileio_copy_volume (
    THREAD_ENTRY * thread_p,
    int from_vol_desc,
    DKNPAGES npages,
    const  char * to_vol_label_p,
    VOLID to_vol_id,
    bool is_reset_recovery_info
) 

function fileio_dismount

void fileio_dismount (
    THREAD_ENTRY * thread_p,
    int vol_fd
) 

function fileio_dismount_all

void fileio_dismount_all (
    THREAD_ENTRY * thread_p
) 

function fileio_dismount_without_fsync

void fileio_dismount_without_fsync (
    THREAD_ENTRY * thread_p,
    int vol_fd
) 

function fileio_finalize_backup_info

void fileio_finalize_backup_info (
    int which_bkvinf
) 

function fileio_find_next_perm_volume

VOLID fileio_find_next_perm_volume (
    THREAD_ENTRY * thread_p,
    VOLID volid
) 

function fileio_find_previous_perm_volume

VOLID fileio_find_previous_perm_volume (
    THREAD_ENTRY * thread_p,
    VOLID volid
) 

function fileio_find_previous_temp_volume

VOLID fileio_find_previous_temp_volume (
    THREAD_ENTRY * thread_p,
    VOLID volid
) 

function fileio_find_volume_descriptor_with_label

int fileio_find_volume_descriptor_with_label (
    const  char * vol_label_p
) 

function fileio_find_volume_id_with_label

VOLID fileio_find_volume_id_with_label (
    THREAD_ENTRY * thread_p,
    const  char * vol_label_p
) 

function fileio_finish_backup

FILEIO_BACKUP_SESSION * fileio_finish_backup (
    THREAD_ENTRY * thread_p,
    FILEIO_BACKUP_SESSION * session_p
) 

function fileio_finish_restore

int fileio_finish_restore (
    THREAD_ENTRY * thread_p,
    FILEIO_BACKUP_SESSION * session_p
) 

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

void fileio_flush_control_finalize (
    void
) 

function fileio_flush_control_initialize

int fileio_flush_control_initialize (
    void
) 

function fileio_format

int fileio_format (
    THREAD_ENTRY * thread_p,
    const  char * db_full_name_p,
    const  char * vol_label_p,
    VOLID vol_id,
    DKNPAGES npages,
    bool is_sweep_clean,
    bool is_do_lock,
    bool is_do_sync,
    size_t page_size,
    int kbytes_to_be_written_per_sec,
    bool reuse_file
) 

function fileio_fsync_pending

bool fileio_fsync_pending (
    void
) 

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

const  char * fileio_get_base_file_name (
    const  char * full_name_p
) 

function fileio_get_directory_path

char * fileio_get_directory_path (
    char * path_p,
    const  char * full_name_p
) 

function fileio_get_max_name

int fileio_get_max_name (
    const  char * given_path_p,
    long  int * file_name_max_p,
    long  int * path_name_max_p
) 

function fileio_get_next_restore_file

int fileio_get_next_restore_file (
    THREAD_ENTRY * thread_p,
    FILEIO_BACKUP_SESSION * session_p,
    char * file_name_p,
    VOLID * vol_id_p
) 

function fileio_get_number_of_partition_free_pages

int fileio_get_number_of_partition_free_pages (
    const  char * path_p,
    size_t page_size
) 

function fileio_get_number_of_partition_free_sectors

DKNSECTS fileio_get_number_of_partition_free_sectors (
    const  char * path_p
) 

function fileio_get_number_of_volume_pages

DKNPAGES fileio_get_number_of_volume_pages (
    int vol_fd,
    size_t page_size
) 

function fileio_get_volume_descriptor

int fileio_get_volume_descriptor (
    VOLID vol_id
) 

function fileio_get_volume_label

char * fileio_get_volume_label (
    VOLID vol_id,
    bool is_peek
) 

function fileio_get_volume_label_by_fd

char * fileio_get_volume_label_by_fd (
    int vol_fd,
    bool is_peek
) 

function fileio_get_volume_max_suffix

int fileio_get_volume_max_suffix (
    void
) 

function fileio_get_zip_level_string

const  char * fileio_get_zip_level_string (
    FILEIO_ZIP_LEVEL zip_level
) 

function fileio_get_zip_method_string

const  char * fileio_get_zip_method_string (
    FILEIO_ZIP_METHOD zip_method
) 

function fileio_initialize_backup

FILEIO_BACKUP_SESSION * fileio_initialize_backup (
    const  char * db_full_name_p,
    const  char * backup_destination_p,
    FILEIO_BACKUP_SESSION * session_p,
    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 vol_fd,
    FILEIO_PAGE * io_page_p,
    DKNPAGES start_pageid,
    DKNPAGES npages,
    size_t page_size,
    bool ensure_metadata,
    int kbytes_to_be_written_per_sec
) 

function fileio_initialize_res

void fileio_initialize_res (
    THREAD_ENTRY * thread_p,
    FILEIO_PAGE * io_page,
    PGLENGTH page_size
) 

function fileio_is_formatted_page

bool fileio_is_formatted_page (
    THREAD_ENTRY * thread_p,
    const  char * io_page
) 

function fileio_is_permanent_volume_descriptor

bool fileio_is_permanent_volume_descriptor (
    THREAD_ENTRY * thread_p,
    int vol_fd
) 

function fileio_is_temp_volume

bool fileio_is_temp_volume (
    THREAD_ENTRY * thread_p,
    VOLID volid
) 

function fileio_is_volume_exist

bool fileio_is_volume_exist (
    const  char * vol_label_p
) 

function fileio_is_volume_exist_and_file

bool fileio_is_volume_exist_and_file (
    const  char * vol_label_p
) 

function fileio_list_restore

int fileio_list_restore (
    THREAD_ENTRY * thread_p,
    const  char * db_full_name_p,
    char * backup_source_p,
    FILEIO_BACKUP_LEVEL level,
    bool is_new_vol_path
) 

function fileio_lob_remove_dir

int fileio_lob_remove_dir (
    char * path
) 

function fileio_lob_remove_matching_dir

int fileio_lob_remove_matching_dir (
    const  char * keyword
) 

function fileio_lock_la_dbname

FILEIO_LOCKF_TYPE fileio_lock_la_dbname (
    int * lockf_vdes,
    char * db_name,
    char * log_path
) 

function fileio_lock_la_log_path

FILEIO_LOCKF_TYPE fileio_lock_la_log_path (
    const  char * db_full_name_p,
    const  char * lock_path_p,
    int vol_fd,
    int * last_deleted_arv_num
) 

function fileio_make_backup_name

void fileio_make_backup_name (
    char * backup_name_p,
    const  char * no_path_vol_name_p,
    const  char * backup_path_p,
    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_p,
    const  char * backup_info_path_p,
    const  char * db_name_p
) 

function fileio_make_dwb_name

void fileio_make_dwb_name (
    char * dwb_name_p,
    const  char * dwb_path_p,
    const  char * db_name_p
) 

function fileio_make_keys_name

void fileio_make_keys_name (
    char * keys_name_p,
    const  char * db_full_name_p
) 

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 * log_active_name_p,
    const  char * log_path_p,
    const  char * db_name_p
) 

function fileio_make_log_archive_name

void fileio_make_log_archive_name (
    char * log_archive_name_p,
    const  char * log_path_p,
    const  char * db_name_p,
    int archive_number
) 

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

void fileio_make_log_info_name (
    char * log_info_name_p,
    const  char * log_path_p,
    const  char * db_name_p
) 

function fileio_make_removed_log_archive_name

void fileio_make_removed_log_archive_name (
    char * log_archive_name_p,
    const  char * log_path_p,
    const  char * db_name_p
) 

function fileio_make_temp_log_files_from_backup

void fileio_make_temp_log_files_from_backup (
    char * temp_log_name,
    VOLID to_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 * vol_ext_full_name_p,
    const  char * ext_path_p,
    const  char * ext_name_p
) 

function fileio_make_volume_ext_name

void fileio_make_volume_ext_name (
    char * vol_ext_full_name_p,
    const  char * ext_path_p,
    const  char * ext_name_p,
    VOLID vol_id
) 

function fileio_make_volume_info_name

void fileio_make_volume_info_name (
    char * vol_info_name_p,
    const  char * db_full_name_p
) 

function fileio_make_volume_temp_name

void fileio_make_volume_temp_name (
    char * vol_tmp_full_name_p,
    const  char * tmp_path_p,
    const  char * tmp_name_p,
    VOLID vol_id
) 

function fileio_map_mounted

bool fileio_map_mounted (
    THREAD_ENTRY * thread_p,
    bool (*)( THREAD_ENTRY *thread_p, VOLID vol_id, void *args) fun,
    void * args
) 

function fileio_mount

int fileio_mount (
    THREAD_ENTRY * thread_p,
    const  char * db_full_name_p,
    const  char * vol_label_p,
    VOLID vol_id,
    int lock_wait,
    bool is_do_sync
) 

function fileio_open

int fileio_open (
    const  char * vol_label_p,
    int flags,
    int mode
) 

function fileio_os_sysconf

int fileio_os_sysconf (
    void
) 

function fileio_page_bitmap_create

FILEIO_RESTORE_PAGE_BITMAP * fileio_page_bitmap_create (
    int vol_id,
    int total_pages
) 

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

void fileio_page_bitmap_list_destroy (
    FILEIO_RESTORE_PAGE_BITMAP_LIST * page_bitmap_list
) 

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

void fileio_page_bitmap_list_init (
    FILEIO_RESTORE_PAGE_BITMAP_LIST * page_bitmap_list
) 

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

void fileio_page_hexa_dump (
    const  char * src_data,
    int length
) 

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

int fileio_read_backup_info_entries (
    FILE * fp,
    int which_bkvinf
) 

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 vol_fd,
    PAGEID page_id,
    off_t start_offset,
    size_t nbytes,
    void * area_p
) 

function fileio_remove_all_backup

void fileio_remove_all_backup (
    THREAD_ENTRY * thread_p,
    int start_level
) 

function fileio_rename

const  char * fileio_rename (
    VOLID vol_id,
    const  char * old_label_p,
    const  char * new_label_p
) 

function fileio_request_user_response

int fileio_request_user_response (
    THREAD_ENTRY * thread_p,
    FILEIO_REMOTE_PROMPT_TYPE prompt_id,
    const  char * prompt_p,
    char * response_p,
    const  char * failure_prompt_p,
    int range_low,
    int range_high,
    const  char * secondary_prompt_p,
    int reprompt_value
) 

function fileio_reset_volume

int fileio_reset_volume (
    THREAD_ENTRY * thread_p,
    int vol_fd,
    const  char * vlabel,
    DKNPAGES npages,
    const  LOG_LSA * reset_lsa_p
) 

function fileio_set_permission

int fileio_set_permission (
    const  char * vol_label_p
) 

function fileio_skip_restore_volume

int fileio_skip_restore_volume (
    THREAD_ENTRY * thread_p,
    FILEIO_BACKUP_SESSION * session_p
) 

function fileio_start_backup

FILEIO_BACKUP_SESSION * fileio_start_backup (
    THREAD_ENTRY * thread_p,
    const  char * db_full_name_p,
    INT64 * db_creation_time_p,
    FILEIO_BACKUP_LEVEL backup_level,
    LOG_LSA * backup_start_lsa_p,
    LOG_LSA * backup_checkpoint_lsa_p,
    FILEIO_BACKUP_RECORD_INFO * all_levels_info_p,
    FILEIO_BACKUP_SESSION * session_p,
    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_full_name_p,
    char * backup_source_p,
    INT64 match_db_creation_time,
    PGLENGTH * db_io_page_size_p,
    float * db_compatibility_p,
    FILEIO_BACKUP_SESSION * session_p,
    FILEIO_BACKUP_LEVEL level,
    bool is_authenticate,
    INT64 match_backup_creation_time,
    const  char * restore_verbose_file_path,
    bool is_new_vol_path
) 

int fileio_symlink (
    const  char * src_p,
    const  char * dest_p,
    int overwrite
) 

function fileio_synchronize

int fileio_synchronize (
    THREAD_ENTRY * thread_p,
    int vol_fd,
    const  char * vlabel,
    bool ensure_metadata
) 

function fileio_synchronize_all

int fileio_synchronize_all (
    THREAD_ENTRY * thread_p
) 

function fileio_synchronize_directory

int fileio_synchronize_directory (
    THREAD_ENTRY * thread_p,
    const  char * label
) 

function fileio_truncate

DKNPAGES fileio_truncate (
    VOLID vol_id,
    DKNPAGES npages_to_resize
) 

function fileio_unformat

void fileio_unformat (
    THREAD_ENTRY * thread_p,
    const  char * vol_label_p
) 

function fileio_unformat_and_rename

void fileio_unformat_and_rename (
    THREAD_ENTRY * thread_p,
    const  char * vol_label_p,
    const  char * new_label_p
) 

function fileio_unlock_la_dbname

FILEIO_LOCKF_TYPE fileio_unlock_la_dbname (
    int * lockf_vdes,
    char * db_name,
    bool clear_owner
) 

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

int fileio_write_backup_info_entries (
    FILE * fp,
    int which_bkvinf
) 

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 vol_fd,
    PAGEID page_id,
    off_t start_offset,
    int nbytes,
    void * area_p
) 

function fileio_writev

void * fileio_writev (
    THREAD_ENTRY * thread_p,
    int vol_fd,
    void ** io_page_array,
    PAGEID start_page_id,
    DKNPAGES npages,
    size_t page_size
) 

Public Static Functions Documentation

function fileio_allocate_and_initialize_volume_info

static int fileio_allocate_and_initialize_volume_info (
    FILEIO_VOLUME_HEADER * header_p,
    int idx
) 

function fileio_allocate_backup_info

static FILEIO_BACKUP_INFO_ENTRY * fileio_allocate_backup_info (
    int which_bkvinf
) 

function fileio_allocate_node

static FILEIO_NODE * fileio_allocate_node (
    FILEIO_QUEUE * qp,
    FILEIO_BACKUP_HEADER * backup_hdr
) 

function fileio_append_queue

static FILEIO_NODE * fileio_append_queue (
    FILEIO_QUEUE * qp,
    FILEIO_NODE * node
) 

function fileio_cache

static int fileio_cache (
    VOLID volid,
    const  char * vlabel,
    int vdes,
    FILEIO_LOCKF_TYPE lockf_type
) 

function fileio_check_file_exist

static char * fileio_check_file_exist (
    char * name_p,
    char * new_guess_path_p,
    int check_size,
    int * max_name_size_p
) 

function fileio_check_file_is_same

static char * fileio_check_file_is_same (
    char * name_p,
    char * new_guess_path_p,
    int check_size,
    int * max_name_size_p,
    struct stat * buf
) 

function fileio_check_lockby_file

static void fileio_check_lockby_file (
    char * name_info_lock_p
) 

function fileio_compensate_flush

static void fileio_compensate_flush (
    THREAD_ENTRY * thread_p,
    int fd,
    int npage
) 

function fileio_compress_backup_node

static int fileio_compress_backup_node (
    FILEIO_NODE * node,
    FILEIO_BACKUP_HEADER * backup_hdr
) 

function fileio_continue_restore

static FILEIO_BACKUP_SESSION * fileio_continue_restore (
    THREAD_ENTRY * thread_p,
    const  char * db_fullname,
    INT64 db_creation,
    FILEIO_BACKUP_SESSION * session,
    bool first_time,
    bool authenticate,
    INT64 match_bkupcreation
) 

function fileio_create

static int fileio_create (
    THREAD_ENTRY * thread_p,
    const  char * db_fullname,
    const  char * vlabel,
    VOLID volid,
    bool dolock,
    bool dosync
) 

function fileio_create_backup_volume

static int fileio_create_backup_volume (
    THREAD_ENTRY * thread_p,
    const  char * db_fullname,
    const  char * vlabel,
    VOLID volid,
    bool dolock,
    bool dosync,
    int atleast_pages
) 

function fileio_ctime

static char * fileio_ctime (
    INT64 * clock,
    char * buf
) 

function fileio_decache

static void fileio_decache (
    THREAD_ENTRY * thread_p,
    int vdes
) 

function fileio_decompress_restore_volume

static int fileio_decompress_restore_volume (
    THREAD_ENTRY * thread_p,
    FILEIO_BACKUP_SESSION * session,
    int nbytes
) 

function fileio_delete_queue_head

static FILEIO_NODE * fileio_delete_queue_head (
    FILEIO_QUEUE * qp
) 

function fileio_dismount_volume

static bool fileio_dismount_volume (
    THREAD_ENTRY * thread_p,
    FILEIO_VOLUME_INFO * vol_info_p,
    APPLY_ARG * ignore_arg
) 

function fileio_expand_permanent_volume_info

static int fileio_expand_permanent_volume_info (
    FILEIO_VOLUME_HEADER * header,
    int volid
) 

function fileio_expand_temporary_volume_info

static int fileio_expand_temporary_volume_info (
    FILEIO_VOLUME_HEADER * header,
    int volid
) 

function fileio_fill_hole_during_restore

static int fileio_fill_hole_during_restore (
    THREAD_ENTRY * thread_p,
    int * next_pageid,
    int stop_pageid,
    FILEIO_BACKUP_SESSION * session,
    FILEIO_RESTORE_PAGE_BITMAP * page_bitmap
) 

function fileio_finalize_backup_thread

static void fileio_finalize_backup_thread (
    FILEIO_BACKUP_SESSION * session_p,
    FILEIO_ZIP_METHOD zip_method
) 

function fileio_find_restore_volume

static FILEIO_RELOCATION_VOLUME fileio_find_restore_volume (
    THREAD_ENTRY * thread_p,
    const  char * dbname,
    char * to_volname,
    int unit_num,
    FILEIO_BACKUP_LEVEL level,
    int reason
) 

function fileio_find_system_volume

static FILEIO_SYSTEM_VOLUME_INFO * fileio_find_system_volume (
    THREAD_ENTRY * thread_p,
    SYS_VOLINFO_APPLY_FN apply_function,
    APPLY_ARG * arg
) 

function fileio_flush_backup

static int fileio_flush_backup (
    THREAD_ENTRY * thread_p,
    FILEIO_BACKUP_SESSION * session
) 

function fileio_flush_control_get_desired_rate

static int fileio_flush_control_get_desired_rate (
    TOKEN_BUCKET * tb
) 

function fileio_flush_control_get_token

static int fileio_flush_control_get_token (
    THREAD_ENTRY * thread_p,
    int ntoken
) 

function fileio_free_node

static FILEIO_NODE * fileio_free_node (
    FILEIO_QUEUE * qp,
    FILEIO_NODE * node
) 

function fileio_get_backup_level_string

static const  char * fileio_get_backup_level_string (
    FILEIO_BACKUP_LEVEL level
) 

function fileio_get_lock

static int fileio_get_lock (
    int fd,
    const  char * vlabel
) 

function fileio_get_lockf_type

static FILEIO_LOCKF_TYPE fileio_get_lockf_type (
    int vdes
) 

function fileio_get_next_backup_volume

static int fileio_get_next_backup_volume (
    THREAD_ENTRY * thread_p,
    FILEIO_BACKUP_SESSION * session,
    bool user_new
) 

function fileio_get_primitive_way_max

static int fileio_get_primitive_way_max (
    const  char * path,
    long  int * filename_max,
    long  int * pathname_max
) 

function fileio_get_volume_id

static VOLID fileio_get_volume_id (
    int vdes
) 

function fileio_increase_flushed_page_count

static int fileio_increase_flushed_page_count (
    int npages
) 

function fileio_initialize_backup_info

static int fileio_initialize_backup_info (
    int which_bkvinf
) 

function fileio_initialize_backup_thread

static int fileio_initialize_backup_thread (
    FILEIO_BACKUP_SESSION * session_p,
    int num_threads
) 

function fileio_initialize_restore

static FILEIO_BACKUP_SESSION * fileio_initialize_restore (
    THREAD_ENTRY * thread_p,
    const  char * db_fullname,
    char * backup_src,
    FILEIO_BACKUP_SESSION * session,
    FILEIO_BACKUP_LEVEL level,
    const  char * restore_verbose_file_path,
    bool newvolpath
) 

function fileio_initialize_volume_info_cache

static int fileio_initialize_volume_info_cache (
    void
) 

function fileio_is_system_volume_descriptor_equal

static bool fileio_is_system_volume_descriptor_equal (
    THREAD_ENTRY * thread_p,
    FILEIO_SYSTEM_VOLUME_INFO * sys_vol_info_p,
    APPLY_ARG * arg
) 

function fileio_is_system_volume_id_equal

static bool fileio_is_system_volume_id_equal (
    THREAD_ENTRY * thread_p,
    FILEIO_SYSTEM_VOLUME_INFO * sys_vol_info_p,
    APPLY_ARG * arg
) 

function fileio_is_system_volume_label_equal

static bool fileio_is_system_volume_label_equal (
    THREAD_ENTRY * thread_p,
    FILEIO_SYSTEM_VOLUME_INFO * sys_vol_info_p,
    APPLY_ARG * arg
) 

function fileio_is_terminated_process

static bool fileio_is_terminated_process (
    int pid
) 

function fileio_is_volume_descriptor_equal

static bool fileio_is_volume_descriptor_equal (
    THREAD_ENTRY * thread_p,
    FILEIO_VOLUME_INFO * vol_info_p,
    APPLY_ARG * arg
) 

function fileio_is_volume_id_equal

static bool fileio_is_volume_id_equal (
    THREAD_ENTRY * thread_p,
    FILEIO_VOLUME_INFO * vol_info_p,
    APPLY_ARG * arg
) 

function fileio_is_volume_id_gt

static bool fileio_is_volume_id_gt (
    THREAD_ENTRY * thread_p,
    FILEIO_VOLUME_INFO * vol_info_p,
    APPLY_ARG * arg
) 

function fileio_is_volume_id_lt

static bool fileio_is_volume_id_lt (
    THREAD_ENTRY * thread_p,
    FILEIO_VOLUME_INFO * vol_info_p,
    APPLY_ARG * arg
) 

function fileio_is_volume_label_equal

static bool fileio_is_volume_label_equal (
    THREAD_ENTRY * thread_p,
    FILEIO_VOLUME_INFO * vol_info_p,
    APPLY_ARG * arg
) 

function fileio_lock

static FILEIO_LOCKF_TYPE fileio_lock (
    const  char * db_fullname,
    const  char * vlabel,
    int vdes,
    bool dowait
) 

function fileio_lock_region

static int fileio_lock_region (
    int fd,
    int cmd,
    int type,
    off_t offset,
    int whence,
    off_t len
) 

function fileio_make_error_message

static int fileio_make_error_message (
    THREAD_ENTRY * thread_p,
    char * error_message_p
) 

function fileio_make_volume_lock_name

static void fileio_make_volume_lock_name (
    char * vol_lockname,
    const  char * vol_fullname
) 

function fileio_max_permanent_volumes

static int fileio_max_permanent_volumes (
    int index,
    int num_permanent_volums
) 

function fileio_min_temporary_volumes

static int fileio_min_temporary_volumes (
    int index,
    int num_temp_volums,
    int num_volinfo_array
) 

function fileio_os_read

static ssize_t fileio_os_read (
    THREAD_ENTRY * thread_p,
    int vol_fd,
    void * io_page_p,
    size_t count,
    off_t offset
) 

function fileio_os_write

static ssize_t fileio_os_write (
    THREAD_ENTRY * thread_p,
    int vol_fd,
    void * io_page_p,
    size_t count,
    off_t offset
) 

function fileio_page_bitmap_dump

static void fileio_page_bitmap_dump (
    FILE * out_fp,
    const  FILEIO_RESTORE_PAGE_BITMAP * page_bitmap
) 

function fileio_page_bitmap_is_set

static bool fileio_page_bitmap_is_set (
    FILEIO_RESTORE_PAGE_BITMAP * page_bitmap,
    int page_id
) 

function fileio_page_bitmap_set

static void fileio_page_bitmap_set (
    FILEIO_RESTORE_PAGE_BITMAP * page_bitmap,
    int page_id
) 

function fileio_read_backup

static ssize_t fileio_read_backup (
    THREAD_ENTRY * thread_p,
    FILEIO_BACKUP_SESSION * session,
    int pageid
) 

function fileio_read_backup_end_time_from_last_page

static void fileio_read_backup_end_time_from_last_page (
    FILEIO_BACKUP_SESSION * session_p
) 

function fileio_read_backup_volume

static void fileio_read_backup_volume (
    THREAD_ENTRY * thread_p,
    FILEIO_BACKUP_SESSION * session
) 

function fileio_read_backup_volume_execute

static void fileio_read_backup_volume_execute (
    cubthread::entry & thread_ref,
    FILEIO_BACKUP_SESSION * back_session
) 

function fileio_read_restore

static int fileio_read_restore (
    THREAD_ENTRY * thread_p,
    FILEIO_BACKUP_SESSION * session,
    int toread_nbytes
) 

function fileio_read_restore_header

static int fileio_read_restore_header (
    FILEIO_BACKUP_SESSION * session
) 

function fileio_release_lock

static int fileio_release_lock (
    int fd
) 

function fileio_reverse_traverse_permanent_volume

static FILEIO_VOLUME_INFO * fileio_reverse_traverse_permanent_volume (
    THREAD_ENTRY * thread_p,
    VOLINFO_APPLY_FN apply_function,
    APPLY_ARG * arg
) 

function fileio_reverse_traverse_temporary_volume

static FILEIO_VOLUME_INFO * fileio_reverse_traverse_temporary_volume (
    THREAD_ENTRY * thread_p,
    VOLINFO_APPLY_FN apply_function,
    APPLY_ARG * arg
) 

function fileio_start_backup_thread

static int fileio_start_backup_thread (
    THREAD_ENTRY * thread_p,
    FILEIO_BACKUP_SESSION * session_p,
    FILEIO_THREAD_INFO * thread_info_p,
    int from_npages,
    bool is_only_updated_pages,
    int check_ratio,
    int check_npages,
    FILEIO_QUEUE * queue_p
) 

function fileio_synchronize_bg_archive_volume

static int fileio_synchronize_bg_archive_volume (
    THREAD_ENTRY * thread_p
) 

function fileio_synchronize_sys_volume

static bool fileio_synchronize_sys_volume (
    THREAD_ENTRY * thread_p,
    FILEIO_SYSTEM_VOLUME_INFO * vol_sys_info_p,
    APPLY_ARG * arg
) 

function fileio_synchronize_volume

static bool fileio_synchronize_volume (
    THREAD_ENTRY * thread_p,
    FILEIO_VOLUME_INFO * vol_info_p,
    APPLY_ARG * arg
) 

function fileio_traverse_permanent_volume

static FILEIO_VOLUME_INFO * fileio_traverse_permanent_volume (
    THREAD_ENTRY * thread_p,
    VOLINFO_APPLY_FN apply_function,
    APPLY_ARG * arg
) 

function fileio_traverse_system_volume

static FILEIO_SYSTEM_VOLUME_INFO * fileio_traverse_system_volume (
    THREAD_ENTRY * thread_p,
    SYS_VOLINFO_APPLY_FN apply_function,
    APPLY_ARG * arg
) 

function fileio_traverse_temporary_volume

static FILEIO_VOLUME_INFO * fileio_traverse_temporary_volume (
    THREAD_ENTRY * thread_p,
    VOLINFO_APPLY_FN apply_function,
    APPLY_ARG * arg
) 

function fileio_unlock

static void fileio_unlock (
    const  char * vlabel,
    int vdes,
    FILEIO_LOCKF_TYPE lockf_type
) 

function fileio_write_backup

static int fileio_write_backup (
    THREAD_ENTRY * thread_p,
    FILEIO_BACKUP_SESSION * session,
    ssize_t towrite_nbytes
) 

function fileio_write_backup_end_time_to_header

static int fileio_write_backup_end_time_to_header (
    FILEIO_BACKUP_SESSION * session_p,
    INT64 end_time
) 

function fileio_write_backup_end_time_to_last_page

static void fileio_write_backup_end_time_to_last_page (
    FILEIO_BACKUP_SESSION * session_p,
    INT64 end_time
) 

function fileio_write_backup_header

static int fileio_write_backup_header (
    FILEIO_BACKUP_SESSION * session
) 

function fileio_write_backup_node

static int fileio_write_backup_node (
    THREAD_ENTRY * thread_p,
    FILEIO_BACKUP_SESSION * session,
    FILEIO_NODE * node,
    FILEIO_BACKUP_HEADER * backup_hdr
) 

function fileio_write_backup_volume

static FILEIO_TYPE fileio_write_backup_volume (
    THREAD_ENTRY * thread_p,
    FILEIO_BACKUP_SESSION * session
) 

function fileio_write_restore

static void * fileio_write_restore (
    THREAD_ENTRY * thread_p,
    FILEIO_RESTORE_PAGE_BITMAP * page_bitmap,
    int vdes,
    void * io_pgptr,
    VOLID vol_id,
    PAGEID page_id,
    FILEIO_BACKUP_LEVEL level
) 

function pwrite_with_injected_fault

static ssize_t pwrite_with_injected_fault (
    THREAD_ENTRY * thread_p,
    int fd,
    const  void * buf,
    size_t count,
    off_t offset
) 

Macro Definition Documentation

define DISABLE_FMT_TRUNC_WARNING

#define DISABLE_FMT_TRUNC_WARNING `_Pragma ("GCC diagnostic  push" ) \ _Pragma ("GCC diagnostic  ignored \"- Wformat - truncation\"" )`

define ENABLE_FMT_TRUNC_WARNING

#define ENABLE_FMT_TRUNC_WARNING `_Pragma ("GCC diagnostic  pop" )`

define FILEIO_BACKUP_CURRENT_HEADER_VERSION

#define FILEIO_BACKUP_CURRENT_HEADER_VERSION `2`

define FILEIO_BACKUP_DBVOLS_IO_PAGE_SIZE

#define FILEIO_BACKUP_DBVOLS_IO_PAGE_SIZE `( IO_PAGESIZE + FILEIO_BACKUP_PAGE_OVERHEAD )`

define FILEIO_BACKUP_DBVOLS_IO_PAGE_SIZE_FULL_LEVEL

#define FILEIO_BACKUP_DBVOLS_IO_PAGE_SIZE_FULL_LEVEL `( FILEIO_PAGE_SIZE_FULL_LEVEL + FILEIO_BACKUP_PAGE_OVERHEAD )`

define FILEIO_BACKUP_END_PAGE_ID

#define FILEIO_BACKUP_END_PAGE_ID `(-3)`

define FILEIO_BACKUP_FILE_END_PAGE_ID

#define FILEIO_BACKUP_FILE_END_PAGE_ID `(-5)`

define FILEIO_BACKUP_FILE_HEADER_PAGE_SIZE

#define FILEIO_BACKUP_FILE_HEADER_PAGE_SIZE `( sizeof ( FILEIO_BACKUP_FILE_HEADER ) + offsetof ( FILEIO_BACKUP_PAGE , iopage))`

define FILEIO_BACKUP_FILE_START_PAGE_ID

#define FILEIO_BACKUP_FILE_START_PAGE_ID `(-4)`

define FILEIO_BACKUP_HEADER_IO_SIZE

#define FILEIO_BACKUP_HEADER_IO_SIZE `GET_NEXT_1K_SIZE ( sizeof ( FILEIO_BACKUP_HEADER ))`

define FILEIO_BACKUP_MINIMUM_NUM_PAGES

#define FILEIO_BACKUP_MINIMUM_NUM_PAGES `/* multi line expression */`

define FILEIO_BACKUP_MINIMUM_NUM_PAGES_FULL_LEVEL

#define FILEIO_BACKUP_MINIMUM_NUM_PAGES_FULL_LEVEL `/* multi line expression */`

define FILEIO_BACKUP_NO_ZIP_HEADER_VERSION

#define FILEIO_BACKUP_NO_ZIP_HEADER_VERSION `1`

define FILEIO_BACKUP_PAGE_OVERHEAD

#define FILEIO_BACKUP_PAGE_OVERHEAD `( offsetof ( FILEIO_BACKUP_PAGE , iopage) + sizeof ( PAGEID ))`

define FILEIO_BACKUP_START_PAGE_ID

#define FILEIO_BACKUP_START_PAGE_ID `(-2)`

define FILEIO_BACKUP_VOL_CONT_PAGE_ID

#define FILEIO_BACKUP_VOL_CONT_PAGE_ID `(-6)`

define FILEIO_CHECK_AND_INITIALIZE_VOLUME_HEADER_CACHE

#define FILEIO_CHECK_AND_INITIALIZE_VOLUME_HEADER_CACHE (
    rtn
) `/* multi line expression */`

define FILEIO_CHECK_FOR_INTERRUPT_INTERVAL

#define FILEIO_CHECK_FOR_INTERRUPT_INTERVAL `100`

define FILEIO_CHECK_RESTORE_PAGE_ID

#define FILEIO_CHECK_RESTORE_PAGE_ID (
    area,
    pagesz
) `/* multi line expression */`

define FILEIO_DBVOLS_IO_PAGE_SIZE

#define FILEIO_DBVOLS_IO_PAGE_SIZE (
    backup_header_p
) `(( backup_header_p )->bkpagesize + FILEIO_BACKUP_PAGE_OVERHEAD )`

define FILEIO_DISK_FORMAT_MODE

#define FILEIO_DISK_FORMAT_MODE `( O_RDWR | O_CREAT )`

define FILEIO_DISK_PROTECTION_MODE

#define FILEIO_DISK_PROTECTION_MODE `0600`

define FILEIO_END_OF_FILE

#define FILEIO_END_OF_FILE `(1)`

define FILEIO_FULL_LEVEL_EXP

#define FILEIO_FULL_LEVEL_EXP `32`

define FILEIO_GET_BACKUP_PAGE_ID

#define FILEIO_GET_BACKUP_PAGE_ID (
    area
) `((( FILEIO_BACKUP_PAGE *)( area ))->iopageid)`

define FILEIO_GET_FILE_SIZE

#define FILEIO_GET_FILE_SIZE (
    pagesize,
    npages
) `((( off_t )( pagesize )) * (( off_t )(npages)))`

define FILEIO_MAX_WAIT_DBTXT

#define FILEIO_MAX_WAIT_DBTXT `300`

define FILEIO_MIN_FLUSH_PAGES_PER_SEC

#define FILEIO_MIN_FLUSH_PAGES_PER_SEC `(41943040 / IO_PAGESIZE )`

define FILEIO_PAGE_FLUSH_DROP_RATE

#define FILEIO_PAGE_FLUSH_DROP_RATE `0.1`

define FILEIO_PAGE_FLUSH_GROW_RATE

#define FILEIO_PAGE_FLUSH_GROW_RATE `0.5`

define FILEIO_PAGE_SIZE_FULL_LEVEL

#define FILEIO_PAGE_SIZE_FULL_LEVEL `( IO_PAGESIZE * FILEIO_FULL_LEVEL_EXP )`

define FILEIO_RESTORE_DBVOLS_IO_PAGE_SIZE

#define FILEIO_RESTORE_DBVOLS_IO_PAGE_SIZE (
    sess
) `(( sess )->bkup.bkuphdr->bkpagesize + FILEIO_BACKUP_PAGE_OVERHEAD )`

define FILEIO_SET_BACKUP_PAGE_ID

#define FILEIO_SET_BACKUP_PAGE_ID (
    area,
    pageid,
    psize
) `/* multi line expression */`

define FILEIO_SET_BACKUP_PAGE_ID_COPY

#define FILEIO_SET_BACKUP_PAGE_ID_COPY (
    area,
    pageid,
    psize
) `/* multi line expression */`

define FILEIO_USER_NAME_SIZE

#define FILEIO_USER_NAME_SIZE `9`

define FILEIO_VOLINFO_INCREMENT

#define FILEIO_VOLINFO_INCREMENT `32`

define GETPID

#define GETPID (

) `getpid ()`

define GET_NEXT_1K_SIZE

#define GET_NEXT_1K_SIZE (
    s
) `(((((s) - 1) / 1024) + 1) * 1024)`

define MSGCAT_FILEIO_BACKUP_LABEL_INFO

#define MSGCAT_FILEIO_BACKUP_LABEL_INFO `21`

define MSGCAT_FILEIO_BACKUP_TIME_MISMATCH

#define MSGCAT_FILEIO_BACKUP_TIME_MISMATCH `19`

define MSGCAT_FILEIO_BACKUP_VINF_ERROR

#define MSGCAT_FILEIO_BACKUP_VINF_ERROR `20`

define MSGCAT_FILEIO_BKUP_FILE

#define MSGCAT_FILEIO_BKUP_FILE `9`

define MSGCAT_FILEIO_BKUP_FIND_REASON

#define MSGCAT_FILEIO_BKUP_FIND_REASON `24`

define MSGCAT_FILEIO_BKUP_HDR

#define MSGCAT_FILEIO_BKUP_HDR `3`

define MSGCAT_FILEIO_BKUP_HDR_BKUP_PAGESIZE

#define MSGCAT_FILEIO_BKUP_HDR_BKUP_PAGESIZE `27`

define MSGCAT_FILEIO_BKUP_HDR_DBINFO

#define MSGCAT_FILEIO_BKUP_HDR_DBINFO `6`

define MSGCAT_FILEIO_BKUP_HDR_INC_ACTIVELOG

#define MSGCAT_FILEIO_BKUP_HDR_INC_ACTIVELOG `29`

define MSGCAT_FILEIO_BKUP_HDR_LEVEL

#define MSGCAT_FILEIO_BKUP_HDR_LEVEL `7`

define MSGCAT_FILEIO_BKUP_HDR_LX_LSA

#define MSGCAT_FILEIO_BKUP_HDR_LX_LSA `22`

define MSGCAT_FILEIO_BKUP_HDR_MAGICID

#define MSGCAT_FILEIO_BKUP_HDR_MAGICID `4`

define MSGCAT_FILEIO_BKUP_HDR_RELEASES

#define MSGCAT_FILEIO_BKUP_HDR_RELEASES `5`

define MSGCAT_FILEIO_BKUP_HDR_TIME

#define MSGCAT_FILEIO_BKUP_HDR_TIME `8`

define MSGCAT_FILEIO_BKUP_HDR_ZIP_INFO

#define MSGCAT_FILEIO_BKUP_HDR_ZIP_INFO `28`

define MSGCAT_FILEIO_BKUP_NEEDED

#define MSGCAT_FILEIO_BKUP_NEEDED `2`

define MSGCAT_FILEIO_BKUP_NEXT_BKVOL

#define MSGCAT_FILEIO_BKUP_NEXT_BKVOL `26`

define MSGCAT_FILEIO_BKUP_PREV_BKVOL

#define MSGCAT_FILEIO_BKUP_PREV_BKVOL `25`

define MSGCAT_FILEIO_DB_MISMATCH

#define MSGCAT_FILEIO_DB_MISMATCH `17`

define MSGCAT_FILEIO_INCORRECT_BKVOLUME

#define MSGCAT_FILEIO_INCORRECT_BKVOLUME `14`

define MSGCAT_FILEIO_INPUT_RANGE_ERROR

#define MSGCAT_FILEIO_INPUT_RANGE_ERROR `13`

define MSGCAT_FILEIO_LEVEL_MISMATCH

#define MSGCAT_FILEIO_LEVEL_MISMATCH `15`

define MSGCAT_FILEIO_MAGIC_MISMATCH

#define MSGCAT_FILEIO_MAGIC_MISMATCH `16`

define MSGCAT_FILEIO_NEWLOCATION

#define MSGCAT_FILEIO_NEWLOCATION `12`

define MSGCAT_FILEIO_RESTORE_FIND_REASON

#define MSGCAT_FILEIO_RESTORE_FIND_REASON `23`

define MSGCAT_FILEIO_REST_RELO_NEEDED

#define MSGCAT_FILEIO_REST_RELO_NEEDED `10`

define MSGCAT_FILEIO_REST_RELO_OPTIONS

#define MSGCAT_FILEIO_REST_RELO_OPTIONS `11`

define MSGCAT_FILEIO_STARTS

#define MSGCAT_FILEIO_STARTS `1`

define MSGCAT_FILEIO_UNIT_NUM_MISMATCH

#define MSGCAT_FILEIO_UNIT_NUM_MISMATCH `18`

define fileio_lock_file_read

#define fileio_lock_file_read (
    fd,
    offset,
    whence,
    len
) `fileio_lock_region (fd, F_SETLK , F_RDLCK , offset, whence , len)`

define fileio_lock_file_readw

#define fileio_lock_file_readw (
    fd,
    offset,
    whence,
    len
) `fileio_lock_region (fd, F_SETLKW , F_RDLCK , offset, whence , len)`

define fileio_lock_file_write

#define fileio_lock_file_write (
    fd,
    offset,
    whence,
    len
) `fileio_lock_region (fd, F_SETLK , F_WRLCK , offset, whence , len)`

define fileio_lock_file_writew

#define fileio_lock_file_writew (
    fd,
    offset,
    whence,
    len
) `fileio_lock_region (fd, F_SETLKW , F_WRLCK , offset, whence , len)`

define fileio_unlock_file

#define fileio_unlock_file (
    fd,
    offset,
    whence,
    len
) `fileio_lock_region (fd, F_SETLK , F_UNLCK , offset, whence , len)`


The documentation for this class was generated from the following file cubrid/src/storage/file_io.c