CUBRID Engine  latest
file_io.c File Reference
#include "config.h"
#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 <unistd.h>
#include <sys/time.h>
#include <sys/param.h>
#include <sys/types.h>
#include <sys/uio.h>
#include <sys/vfs.h>
#include "porting.h"
#include "chartype.h"
#include "connection_globals.h"
#include "file_io.h"
#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 "crypt_opfunc.h"
#include "tcp.h"
#include "double_write_buffer.h"
#include "page_buffer.h"
#include "xserver_interface.h"
#include "intl_support.h"
#include "tsc_timer.h"

Go to the source code of this file.

Classes

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
 
union  fileio_apply_function_arg
 
struct  fileio_volinfo_header
 

Macros

#define MSGCAT_FILEIO_STARTS   1
 
#define MSGCAT_FILEIO_BKUP_NEEDED   2
 
#define MSGCAT_FILEIO_BKUP_HDR   3
 
#define MSGCAT_FILEIO_BKUP_HDR_MAGICID   4
 
#define MSGCAT_FILEIO_BKUP_HDR_RELEASES   5
 
#define MSGCAT_FILEIO_BKUP_HDR_DBINFO   6
 
#define MSGCAT_FILEIO_BKUP_HDR_LEVEL   7
 
#define MSGCAT_FILEIO_BKUP_HDR_TIME   8
 
#define MSGCAT_FILEIO_BKUP_FILE   9
 
#define MSGCAT_FILEIO_REST_RELO_NEEDED   10
 
#define MSGCAT_FILEIO_REST_RELO_OPTIONS   11
 
#define MSGCAT_FILEIO_NEWLOCATION   12
 
#define MSGCAT_FILEIO_INPUT_RANGE_ERROR   13
 
#define MSGCAT_FILEIO_INCORRECT_BKVOLUME   14
 
#define MSGCAT_FILEIO_LEVEL_MISMATCH   15
 
#define MSGCAT_FILEIO_MAGIC_MISMATCH   16
 
#define MSGCAT_FILEIO_DB_MISMATCH   17
 
#define MSGCAT_FILEIO_UNIT_NUM_MISMATCH   18
 
#define MSGCAT_FILEIO_BACKUP_TIME_MISMATCH   19
 
#define MSGCAT_FILEIO_BACKUP_VINF_ERROR   20
 
#define MSGCAT_FILEIO_BACKUP_LABEL_INFO   21
 
#define MSGCAT_FILEIO_BKUP_HDR_LX_LSA   22
 
#define MSGCAT_FILEIO_RESTORE_FIND_REASON   23
 
#define MSGCAT_FILEIO_BKUP_FIND_REASON   24
 
#define MSGCAT_FILEIO_BKUP_PREV_BKVOL   25
 
#define MSGCAT_FILEIO_BKUP_NEXT_BKVOL   26
 
#define MSGCAT_FILEIO_BKUP_HDR_BKUP_PAGESIZE   27
 
#define MSGCAT_FILEIO_BKUP_HDR_ZIP_INFO   28
 
#define MSGCAT_FILEIO_BKUP_HDR_INC_ACTIVELOG   29
 
#define FILEIO_USER_NAME_SIZE   9
 
#define GETPID()   getpid()
 
#define FILEIO_DISK_FORMAT_MODE   (O_RDWR | O_CREAT)
 
#define FILEIO_DISK_PROTECTION_MODE   0600
 
#define FILEIO_MAX_WAIT_DBTXT   300
 
#define FILEIO_FULL_LEVEL_EXP   32
 
#define GET_NEXT_1K_SIZE(s)   (((((s) - 1) / 1024) + 1) * 1024)
 
#define FILEIO_BACKUP_HEADER_IO_SIZE   GET_NEXT_1K_SIZE(sizeof(FILEIO_BACKUP_HEADER))
 
#define FILEIO_GET_FILE_SIZE(pagesize, npages)   (((off_t)(pagesize)) * ((off_t)(npages)))
 
#define FILEIO_BACKUP_NO_ZIP_HEADER_VERSION   1
 
#define FILEIO_BACKUP_CURRENT_HEADER_VERSION   2
 
#define FILEIO_CHECK_FOR_INTERRUPT_INTERVAL   100
 
#define FILEIO_PAGE_SIZE_FULL_LEVEL   (IO_PAGESIZE * FILEIO_FULL_LEVEL_EXP)
 
#define FILEIO_BACKUP_PAGE_OVERHEAD   (offsetof(FILEIO_BACKUP_PAGE, iopage) + sizeof(PAGEID))
 
#define FILEIO_BACKUP_DBVOLS_IO_PAGE_SIZE   (IO_PAGESIZE + FILEIO_BACKUP_PAGE_OVERHEAD)
 
#define FILEIO_BACKUP_DBVOLS_IO_PAGE_SIZE_FULL_LEVEL   (FILEIO_PAGE_SIZE_FULL_LEVEL + FILEIO_BACKUP_PAGE_OVERHEAD)
 
#define FILEIO_RESTORE_DBVOLS_IO_PAGE_SIZE(sess)   ((sess)->bkup.bkuphdr->bkpagesize + FILEIO_BACKUP_PAGE_OVERHEAD)
 
#define FILEIO_DBVOLS_IO_PAGE_SIZE(backup_header_p)   ((backup_header_p)->bkpagesize + FILEIO_BACKUP_PAGE_OVERHEAD)
 
#define FILEIO_BACKUP_FILE_HEADER_PAGE_SIZE   (sizeof(FILEIO_BACKUP_FILE_HEADER) + offsetof(FILEIO_BACKUP_PAGE, iopage))
 
#define FILEIO_SET_BACKUP_PAGE_ID_COPY(area, pageid, psize)
 
#define FILEIO_SET_BACKUP_PAGE_ID(area, pageid, psize)
 
#define FILEIO_GET_BACKUP_PAGE_ID(area)   (((FILEIO_BACKUP_PAGE *)(area))->iopageid)
 
#define FILEIO_CHECK_RESTORE_PAGE_ID(area, pagesz)
 
#define FILEIO_BACKUP_MINIMUM_NUM_PAGES
 
#define FILEIO_BACKUP_MINIMUM_NUM_PAGES_FULL_LEVEL
 
#define FILEIO_CHECK_AND_INITIALIZE_VOLUME_HEADER_CACHE(rtn)
 
#define FILEIO_BACKUP_START_PAGE_ID   (-2)
 
#define FILEIO_BACKUP_END_PAGE_ID   (-3)
 
#define FILEIO_BACKUP_FILE_START_PAGE_ID   (-4)
 
#define FILEIO_BACKUP_FILE_END_PAGE_ID   (-5)
 
#define FILEIO_BACKUP_VOL_CONT_PAGE_ID   (-6)
 
#define FILEIO_END_OF_FILE   (1)
 
#define FILEIO_MIN_FLUSH_PAGES_PER_SEC   (41943040 / IO_PAGESIZE)
 
#define FILEIO_PAGE_FLUSH_GROW_RATE   0.5
 
#define FILEIO_PAGE_FLUSH_DROP_RATE   0.1
 
#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(fd, offset, whence, len)   fileio_lock_region(fd, F_SETLKW, F_RDLCK, offset, whence, len)
 
#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(fd, offset, whence, len)   fileio_lock_region(fd, F_SETLKW, F_WRLCK, offset, whence, len)
 
#define fileio_unlock_file(fd, offset, whence, len)   fileio_lock_region(fd, F_SETLK, F_UNLCK, offset, whence, len)
 
#define FILEIO_VOLINFO_INCREMENT   32
 
#define pthread_mutex_init(a, b)
 
#define pthread_mutex_destroy(a)
 
#define pthread_mutex_lock(a)   0
 
#define pthread_mutex_unlock(a)
 

Typedefs

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
 
typedef struct fileio_sys_volinfo FILEIO_SYSTEM_VOLUME_INFO
 
typedef struct fileio_sys_volinfo_header FILEIO_SYSTEM_VOLUME_HEADER
 
typedef struct fileio_volinfo FILEIO_VOLUME_INFO
 
typedef struct fileio_volinfo_header FILEIO_VOLUME_HEADER
 
typedef union fileio_apply_function_arg APPLY_ARG
 
typedef bool(* VOLINFO_APPLY_FN) (THREAD_ENTRY *thread_p, FILEIO_VOLUME_INFO *vol_info_p, APPLY_ARG *arg)
 
typedef bool(* SYS_VOLINFO_APPLY_FN) (THREAD_ENTRY *thread_p, FILEIO_SYSTEM_VOLUME_INFO *sys_vol_info_p, APPLY_ARG *arg)
 

Enumerations

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
}
 

Functions

static int fileio_initialize_volume_info_cache (void)
 
static void fileio_make_volume_lock_name (char *vol_lockname, const char *vol_fullname)
 
static int fileio_create (THREAD_ENTRY *thread_p, const char *db_fullname, const char *vlabel, VOLID volid, bool dolock, bool dosync)
 
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)
 
static int fileio_max_permanent_volumes (int index, int num_permanent_volums)
 
static int fileio_min_temporary_volumes (int index, int num_temp_volums, int num_volinfo_array)
 
static FILEIO_SYSTEM_VOLUME_INFOfileio_traverse_system_volume (THREAD_ENTRY *thread_p, SYS_VOLINFO_APPLY_FN apply_function, APPLY_ARG *arg)
 
static FILEIO_VOLUME_INFOfileio_traverse_permanent_volume (THREAD_ENTRY *thread_p, VOLINFO_APPLY_FN apply_function, APPLY_ARG *arg)
 
static FILEIO_VOLUME_INFOfileio_reverse_traverse_permanent_volume (THREAD_ENTRY *thread_p, VOLINFO_APPLY_FN apply_function, APPLY_ARG *arg)
 
static FILEIO_VOLUME_INFOfileio_traverse_temporary_volume (THREAD_ENTRY *thread_p, VOLINFO_APPLY_FN apply_function, APPLY_ARG *arg)
 
static FILEIO_VOLUME_INFOfileio_reverse_traverse_temporary_volume (THREAD_ENTRY *thread_p, VOLINFO_APPLY_FN apply_function, APPLY_ARG *arg)
 
static bool fileio_dismount_volume (THREAD_ENTRY *thread_p, FILEIO_VOLUME_INFO *vol_info_p, APPLY_ARG *ignore_arg)
 
static bool fileio_is_volume_descriptor_equal (THREAD_ENTRY *thread_p, FILEIO_VOLUME_INFO *vol_info_p, APPLY_ARG *arg)
 
static bool fileio_is_volume_id_gt (THREAD_ENTRY *thread_p, FILEIO_VOLUME_INFO *vol_info_p, APPLY_ARG *arg)
 
static bool fileio_is_volume_id_lt (THREAD_ENTRY *thread_p, FILEIO_VOLUME_INFO *vol_info_p, APPLY_ARG *arg)
 
static FILEIO_SYSTEM_VOLUME_INFOfileio_find_system_volume (THREAD_ENTRY *thread_p, SYS_VOLINFO_APPLY_FN apply_function, APPLY_ARG *arg)
 
static bool fileio_is_system_volume_descriptor_equal (THREAD_ENTRY *thread_p, FILEIO_SYSTEM_VOLUME_INFO *sys_vol_info_p, APPLY_ARG *arg)
 
static bool fileio_is_system_volume_id_equal (THREAD_ENTRY *thread_p, FILEIO_SYSTEM_VOLUME_INFO *sys_vol_info_p, APPLY_ARG *arg)
 
static bool fileio_is_system_volume_label_equal (THREAD_ENTRY *thread_p, FILEIO_SYSTEM_VOLUME_INFO *sys_vol_info_p, APPLY_ARG *arg)
 
static bool fileio_synchronize_sys_volume (THREAD_ENTRY *thread_p, FILEIO_SYSTEM_VOLUME_INFO *vol_sys_info_p, APPLY_ARG *arg)
 
static bool fileio_synchronize_volume (THREAD_ENTRY *thread_p, FILEIO_VOLUME_INFO *vol_info_p, APPLY_ARG *arg)
 
static int fileio_cache (VOLID volid, const char *vlabel, int vdes, FILEIO_LOCKF_TYPE lockf_type)
 
static void fileio_decache (THREAD_ENTRY *thread_p, int vdes)
 
static VOLID fileio_get_volume_id (int vdes)
 
static bool fileio_is_volume_label_equal (THREAD_ENTRY *thread_p, FILEIO_VOLUME_INFO *vol_info_p, APPLY_ARG *arg)
 
static int fileio_expand_permanent_volume_info (FILEIO_VOLUME_HEADER *header, int volid)
 
static int fileio_expand_temporary_volume_info (FILEIO_VOLUME_HEADER *header, int volid)
 
static bool fileio_is_terminated_process (int pid)
 
static ssize_t fileio_os_read (THREAD_ENTRY *thread_p, int vol_fd, void *io_page_p, size_t count, off_t offset)
 
static ssize_t fileio_os_write (THREAD_ENTRY *thread_p, int vol_fd, void *io_page_p, size_t count, off_t offset)
 
static ssize_t pwrite_with_injected_fault (THREAD_ENTRY *thread_p, int fd, const void *buf, size_t count, off_t offset)
 
static FILEIO_LOCKF_TYPE fileio_lock (const char *db_fullname, const char *vlabel, int vdes, bool dowait)
 
static void fileio_unlock (const char *vlabel, int vdes, FILEIO_LOCKF_TYPE lockf_type)
 
static FILEIO_LOCKF_TYPE fileio_get_lockf_type (int vdes)
 
static int fileio_get_primitive_way_max (const char *path, long int *filename_max, long int *pathname_max)
 
static int fileio_flush_backup (THREAD_ENTRY *thread_p, FILEIO_BACKUP_SESSION *session)
 
static ssize_t fileio_read_backup (THREAD_ENTRY *thread_p, FILEIO_BACKUP_SESSION *session, int pageid)
 
static int fileio_write_backup (THREAD_ENTRY *thread_p, FILEIO_BACKUP_SESSION *session, ssize_t towrite_nbytes)
 
static int fileio_write_backup_header (FILEIO_BACKUP_SESSION *session)
 
static FILEIO_BACKUP_SESSIONfileio_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)
 
static int fileio_read_restore (THREAD_ENTRY *thread_p, FILEIO_BACKUP_SESSION *session, int toread_nbytes)
 
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)
 
static int fileio_read_restore_header (FILEIO_BACKUP_SESSION *session)
 
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)
 
static int fileio_get_next_backup_volume (THREAD_ENTRY *thread_p, FILEIO_BACKUP_SESSION *session, bool user_new)
 
static int fileio_initialize_backup_info (int which_bkvinf)
 
static FILEIO_BACKUP_INFO_ENTRYfileio_allocate_backup_info (int which_bkvinf)
 
static FILEIO_BACKUP_SESSIONfileio_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)
 
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)
 
static int fileio_decompress_restore_volume (THREAD_ENTRY *thread_p, FILEIO_BACKUP_SESSION *session, int nbytes)
 
static FILEIO_NODEfileio_allocate_node (FILEIO_QUEUE *qp, FILEIO_BACKUP_HEADER *backup_hdr)
 
static FILEIO_NODEfileio_free_node (FILEIO_QUEUE *qp, FILEIO_NODE *node)
 
static FILEIO_NODEfileio_delete_queue_head (FILEIO_QUEUE *qp)
 
static int fileio_compress_backup_node (FILEIO_NODE *node, FILEIO_BACKUP_HEADER *backup_hdr)
 
static int fileio_write_backup_node (THREAD_ENTRY *thread_p, FILEIO_BACKUP_SESSION *session, FILEIO_NODE *node, FILEIO_BACKUP_HEADER *backup_hdr)
 
static char * fileio_ctime (INT64 *clock, char *buf)
 
static const char * fileio_get_backup_level_string (FILEIO_BACKUP_LEVEL level)
 
static int fileio_initialize_backup_thread (FILEIO_BACKUP_SESSION *session_p, int num_threads)
 
static void fileio_finalize_backup_thread (FILEIO_BACKUP_SESSION *session_p, FILEIO_ZIP_METHOD zip_method)
 
static int fileio_write_backup_end_time_to_header (FILEIO_BACKUP_SESSION *session_p, INT64 end_time)
 
static void fileio_write_backup_end_time_to_last_page (FILEIO_BACKUP_SESSION *session_p, INT64 end_time)
 
static void fileio_read_backup_end_time_from_last_page (FILEIO_BACKUP_SESSION *session_p)
 
static int fileio_get_lock (int fd, const char *vlabel)
 
static int fileio_release_lock (int fd)
 
static int fileio_lock_region (int fd, int cmd, int type, off_t offset, int whence, off_t len)
 
static void fileio_compensate_flush (THREAD_ENTRY *thread_p, int fd, int npage)
 
static int fileio_increase_flushed_page_count (int npages)
 
static int fileio_flush_control_get_token (THREAD_ENTRY *thread_p, int ntoken)
 
static int fileio_flush_control_get_desired_rate (TOKEN_BUCKET *tb)
 
static int fileio_synchronize_bg_archive_volume (THREAD_ENTRY *thread_p)
 
static void fileio_page_bitmap_set (FILEIO_RESTORE_PAGE_BITMAP *page_bitmap, int page_id)
 
static bool fileio_page_bitmap_is_set (FILEIO_RESTORE_PAGE_BITMAP *page_bitmap, int page_id)
 
static void fileio_page_bitmap_dump (FILE *out_fp, const FILEIO_RESTORE_PAGE_BITMAP *page_bitmap)
 
int fileio_flush_control_initialize (void)
 
void fileio_flush_control_finalize (void)
 
int fileio_flush_control_add_tokens (THREAD_ENTRY *thread_p, INT64 diff_usec, int *token_gen, int *token_consumed)
 
static int fileio_allocate_and_initialize_volume_info (FILEIO_VOLUME_HEADER *header_p, int idx)
 
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)
 
FILEIO_LOCKF_TYPE fileio_lock_la_dbname (int *lockf_vdes, char *db_name, char *log_path)
 
FILEIO_LOCKF_TYPE fileio_unlock_la_dbname (int *lockf_vdes, char *db_name, bool clear_owner)
 
static void fileio_check_lockby_file (char *name_info_lock_p)
 
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, int kbytes_to_be_written_per_sec)
 
int fileio_open (const char *vol_label_p, int flags, int mode)
 
int fileio_set_permission (const char *vol_label_p)
 
void fileio_close (int vol_fd)
 
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)
 
int fileio_expand_to (THREAD_ENTRY *thread_p, VOLID vol_id, DKNPAGES size_npages, DB_VOLTYPE voltype)
 
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)
 
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)
 
int fileio_reset_volume (THREAD_ENTRY *thread_p, int vol_fd, const char *vlabel, DKNPAGES npages, const LOG_LSA *reset_lsa_p)
 
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)
 
void fileio_dismount (THREAD_ENTRY *thread_p, int vol_fd)
 
void fileio_dismount_without_fsync (THREAD_ENTRY *thread_p, int vol_fd)
 
void fileio_dismount_all (THREAD_ENTRY *thread_p)
 
bool fileio_map_mounted (THREAD_ENTRY *thread_p, bool(*fun)(THREAD_ENTRY *thread_p, VOLID vol_id, void *args), void *args)
 
static bool fileio_is_volume_id_equal (THREAD_ENTRY *thread_p, FILEIO_VOLUME_INFO *vol_info_p, APPLY_ARG *arg)
 
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)
 
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)
 
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)
 
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_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_writev (THREAD_ENTRY *thread_p, int vol_fd, void **io_page_array, PAGEID start_page_id, DKNPAGES npages, size_t page_size)
 
int fileio_synchronize (THREAD_ENTRY *thread_p, int vol_fd, const char *vlabel, FILEIO_SYNC_OPTION sync_dwb)
 
int fileio_synchronize_all (THREAD_ENTRY *thread_p, bool is_include)
 
DKNPAGES fileio_get_number_of_volume_pages (int vol_fd, size_t page_size)
 
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)
 
const char * fileio_rename (VOLID vol_id, const char *old_label_p, const char *new_label_p)
 
bool fileio_is_volume_exist (const char *vol_label_p)
 
bool fileio_is_volume_exist_and_file (const char *vol_label_p)
 
static char * fileio_check_file_exist (char *name_p, char *new_guess_path_p, int check_size, int *max_name_size_p)
 
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)
 
int fileio_get_max_name (const char *given_path_p, long int *file_name_max_p, long int *path_name_max_p)
 
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_volume_max_suffix (void)
 
void fileio_make_volume_info_name (char *vol_info_name_p, const char *db_full_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_ext_given_name (char *vol_ext_full_name_p, const char *ext_path_p, const char *ext_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)
 
void fileio_make_log_active_name (char *log_active_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_log_archive_name (char *log_archive_name_p, const char *log_path_p, const char *db_name_p, int archive_number)
 
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_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_backup_volume_info_name (char *backup_volinfo_name_p, const char *backup_info_path_p, const char *db_name_p)
 
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_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)
 
char * fileio_get_volume_label (VOLID vol_id, bool is_peek)
 
char * fileio_get_volume_label_by_fd (int vol_fd, bool is_peek)
 
VOLID fileio_find_volume_id_with_label (THREAD_ENTRY *thread_p, const char *vol_label_p)
 
bool fileio_is_temp_volume (THREAD_ENTRY *thread_p, VOLID volid)
 
bool fileio_is_permanent_volume_descriptor (THREAD_ENTRY *thread_p, int vol_fd)
 
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_get_volume_descriptor (VOLID vol_id)
 
int fileio_find_volume_descriptor_with_label (const char *vol_label_p)
 
FILEIO_BACKUP_SESSIONfileio_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_abort_backup (THREAD_ENTRY *thread_p, FILEIO_BACKUP_SESSION *session_p, bool does_unformat_bk)
 
FILEIO_BACKUP_SESSIONfileio_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_SESSIONfileio_finish_backup (THREAD_ENTRY *thread_p, FILEIO_BACKUP_SESSION *session_p)
 
void fileio_remove_all_backup (THREAD_ENTRY *thread_p, int start_level)
 
int fileio_backup_volume (THREAD_ENTRY *thread_p, FILEIO_BACKUP_SESSION *session_p, const char *from_vol_label_p, VOLID from_vol_id, PAGEID last_page, bool is_only_updated_pages)
 
void fileio_abort_restore (THREAD_ENTRY *thread_p, FILEIO_BACKUP_SESSION *session_p)
 
FILEIO_BACKUP_SESSIONfileio_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)
 
static int fileio_make_error_message (THREAD_ENTRY *thread_p, char *error_message_p)
 
int fileio_finish_restore (THREAD_ENTRY *thread_p, FILEIO_BACKUP_SESSION *session_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_get_backup_volume (THREAD_ENTRY *thread_p, const char *db_fullname, const char *logpath, const char *user_backuppath, int try_level, char *from_volbackup)
 
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_restore_volume (THREAD_ENTRY *thread_p, FILEIO_BACKUP_SESSION *session_p, char *to_vol_label_p, char *verbose_to_vol_label_p, char *prev_vol_label_p, FILEIO_RESTORE_PAGE_BITMAP *page_bitmap, bool is_remember_pages)
 
int fileio_skip_restore_volume (THREAD_ENTRY *thread_p, FILEIO_BACKUP_SESSION *session_p)
 
const char * fileio_get_zip_method_string (FILEIO_ZIP_METHOD zip_method)
 
const char * fileio_get_zip_level_string (FILEIO_ZIP_LEVEL zip_level)
 
int fileio_add_volume_to_backup_info (const char *name_p, FILEIO_BACKUP_LEVEL level, int unit_num, int which_bkvinf)
 
int fileio_write_backup_info_entries (FILE *fp, int which_bkvinf)
 
int fileio_read_backup_info_entries (FILE *fp, int which_bkvinf)
 
const char * fileio_get_backup_info_volume_name (FILEIO_BACKUP_LEVEL level, int unit_num, int which_bkvinf)
 
void fileio_finalize_backup_info (int which_bkvinf)
 
int fileio_clear_backup_info_level (int level, bool is_dealloc, int which_bkvinf)
 
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_symlink (const char *src_p, const char *dest_p, int overwrite)
 
void fileio_initialize_res (THREAD_ENTRY *thread_p, FILEIO_PAGE *io_page, PGLENGTH page_size)
 
void fileio_page_bitmap_list_init (FILEIO_RESTORE_PAGE_BITMAP_LIST *page_bitmap_list)
 
FILEIO_RESTORE_PAGE_BITMAPfileio_page_bitmap_create (int vol_id, int total_pages)
 
FILEIO_RESTORE_PAGE_BITMAPfileio_page_bitmap_list_find (FILEIO_RESTORE_PAGE_BITMAP_LIST *page_bitmap_list, int vol_id)
 
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)
 
int fileio_page_check_corruption (THREAD_ENTRY *thread_p, FILEIO_PAGE *io_page, bool *is_page_corrupted)
 
bool fileio_is_formatted_page (THREAD_ENTRY *thread_p, const char *io_page)
 

Variables

static int rv
 
static FILEIO_SYSTEM_VOLUME_HEADER fileio_Sys_vol_info_header
 
static FILEIO_VOLUME_HEADER fileio_Vol_info_header
 
static FILEIO_BACKUP_INFO_QUEUE fileio_Backup_vol_info_data [2]
 
static pthread_mutex_t fileio_Flushed_page_counter_mutex = PTHREAD_MUTEX_INITIALIZER
 
static int fileio_Flushed_page_count = 0
 
static TOKEN_BUCKET fc_Token_bucket_s
 
static TOKEN_BUCKETfc_Token_bucket = NULL
 
static FLUSH_STATS fc_Stats
 

Macro Definition Documentation

#define FILEIO_BACKUP_CURRENT_HEADER_VERSION   2

Definition at line 189 of file file_io.c.

Referenced by fileio_initialize_backup().

#define FILEIO_BACKUP_DBVOLS_IO_PAGE_SIZE   (IO_PAGESIZE + FILEIO_BACKUP_PAGE_OVERHEAD)

Definition at line 195 of file file_io.c.

#define FILEIO_BACKUP_DBVOLS_IO_PAGE_SIZE_FULL_LEVEL   (FILEIO_PAGE_SIZE_FULL_LEVEL + FILEIO_BACKUP_PAGE_OVERHEAD)

Definition at line 197 of file file_io.c.

#define FILEIO_BACKUP_END_PAGE_ID   (-3)
#define FILEIO_BACKUP_FILE_END_PAGE_ID   (-5)
#define FILEIO_BACKUP_FILE_HEADER_PAGE_SIZE   (sizeof(FILEIO_BACKUP_FILE_HEADER) + offsetof(FILEIO_BACKUP_PAGE, iopage))
#define FILEIO_BACKUP_FILE_START_PAGE_ID   (-4)
#define FILEIO_BACKUP_HEADER_IO_SIZE   GET_NEXT_1K_SIZE(sizeof(FILEIO_BACKUP_HEADER))
#define FILEIO_BACKUP_MINIMUM_NUM_PAGES
Value:
#define IO_PAGESIZE
#define FILEIO_BACKUP_HEADER_IO_SIZE
Definition: file_io.c:184
#define FILEIO_BACKUP_DBVOLS_IO_PAGE_SIZE
Definition: file_io.c:195
#define CEIL_PTVDIV(dividend, divisor)
Definition: memory_alloc.h:50

Definition at line 237 of file file_io.c.

Referenced by fileio_get_next_backup_volume(), and fileio_start_backup().

#define FILEIO_BACKUP_MINIMUM_NUM_PAGES_FULL_LEVEL
Value:
#define IO_PAGESIZE
#define FILEIO_BACKUP_HEADER_IO_SIZE
Definition: file_io.c:184
#define CEIL_PTVDIV(dividend, divisor)
Definition: memory_alloc.h:50
#define FILEIO_BACKUP_DBVOLS_IO_PAGE_SIZE_FULL_LEVEL
Definition: file_io.c:197

Definition at line 240 of file file_io.c.

Referenced by fileio_get_next_backup_volume(), and fileio_start_backup().

#define FILEIO_BACKUP_NO_ZIP_HEADER_VERSION   1

Definition at line 188 of file file_io.c.

Referenced by fileio_read_restore_header().

#define FILEIO_BACKUP_PAGE_OVERHEAD   (offsetof(FILEIO_BACKUP_PAGE, iopage) + sizeof(PAGEID))
#define FILEIO_BACKUP_START_PAGE_ID   (-2)

Definition at line 252 of file file_io.c.

Referenced by fileio_continue_restore(), fileio_list_restore(), and fileio_start_backup().

#define FILEIO_BACKUP_VOL_CONT_PAGE_ID   (-6)
#define FILEIO_CHECK_FOR_INTERRUPT_INTERVAL   100
#define FILEIO_CHECK_RESTORE_PAGE_ID (   area,
  pagesz 
)
Value:
(((FILEIO_BACKUP_PAGE *)(area))->iopageid == \
*(PAGEID *)(((char *)(area)) + offsetof(FILEIO_BACKUP_PAGE, iopage) + pagesz))
INT32 PAGEID

Definition at line 231 of file file_io.c.

Referenced by fileio_restore_volume(), and fileio_skip_restore_volume().

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

Definition at line 203 of file file_io.c.

Referenced by fileio_allocate_node(), fileio_backup_volume(), and fileio_start_backup().

#define FILEIO_END_OF_FILE   (1)

Definition at line 258 of file file_io.c.

#define FILEIO_FULL_LEVEL_EXP   32
#define FILEIO_GET_BACKUP_PAGE_ID (   area)    (((FILEIO_BACKUP_PAGE *)(area))->iopageid)
#define FILEIO_GET_FILE_SIZE (   pagesize,
  npages 
)    (((off_t)(pagesize)) * ((off_t)(npages)))
#define fileio_lock_file_read (   fd,
  offset,
  whence,
  len 
)    fileio_lock_region(fd, F_SETLK, F_RDLCK, offset, whence, len)

Definition at line 290 of file file_io.c.

Referenced by fileio_get_lock().

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

Definition at line 292 of file file_io.c.

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

Definition at line 294 of file file_io.c.

Referenced by fileio_lock(), fileio_lock_la_dbname(), and fileio_lock_la_log_path().

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

Definition at line 296 of file file_io.c.

#define FILEIO_MAX_WAIT_DBTXT   300

Definition at line 175 of file file_io.c.

Referenced by fileio_lock().

#define FILEIO_MIN_FLUSH_PAGES_PER_SEC   (41943040 / IO_PAGESIZE)

Definition at line 261 of file file_io.c.

Referenced by fileio_flush_control_add_tokens().

#define FILEIO_PAGE_FLUSH_DROP_RATE   0.1

Definition at line 276 of file file_io.c.

Referenced by fileio_flush_control_get_desired_rate().

#define FILEIO_PAGE_FLUSH_GROW_RATE   0.5

Definition at line 274 of file file_io.c.

Referenced by fileio_flush_control_get_desired_rate().

#define FILEIO_PAGE_SIZE_FULL_LEVEL   (IO_PAGESIZE * FILEIO_FULL_LEVEL_EXP)

Definition at line 192 of file file_io.c.

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

Definition at line 200 of file file_io.c.

Referenced by fileio_restore_volume(), and fileio_skip_restore_volume().

#define FILEIO_SET_BACKUP_PAGE_ID (   area,
  pageid,
  psize 
)
Value:
do { \
((FILEIO_BACKUP_PAGE *)(area))->iopageid = pageid; \
/* set the redundant copy of the pageid, alignment is important */ \
} while (false);
#define FILEIO_SET_BACKUP_PAGE_ID_COPY(area, pageid, psize)
Definition: file_io.c:210

Definition at line 215 of file file_io.c.

Referenced by fileio_backup_volume(), fileio_initialize_backup(), and fileio_read_backup().

#define FILEIO_SET_BACKUP_PAGE_ID_COPY (   area,
  pageid,
  psize 
)
Value:
*(PAGEID *)(((char *)(area)) + \
(offsetof(FILEIO_BACKUP_PAGE, iopage) + psize)) = pageid
INT32 PAGEID

Definition at line 210 of file file_io.c.

Referenced by fileio_backup_volume(), and fileio_write_backup_node().

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

Definition at line 298 of file file_io.c.

Referenced by fileio_release_lock(), and fileio_unlock().

#define FILEIO_USER_NAME_SIZE   9

Definition at line 164 of file file_io.c.

Referenced by fileio_check_lockby_file(), fileio_lock(), and fileio_lock_la_log_path().

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

Definition at line 183 of file file_io.c.

#define GETPID ( )    getpid()

Definition at line 170 of file file_io.c.

Referenced by fileio_check_lockby_file(), fileio_lock(), and fileio_lock_la_log_path().

#define MSGCAT_FILEIO_BACKUP_LABEL_INFO   21

Definition at line 151 of file file_io.c.

Referenced by fileio_finish_backup(), and fileio_get_next_backup_volume().

#define MSGCAT_FILEIO_BACKUP_TIME_MISMATCH   19

Definition at line 149 of file file_io.c.

Referenced by fileio_continue_restore().

#define MSGCAT_FILEIO_BACKUP_VINF_ERROR   20

Definition at line 150 of file file_io.c.

Referenced by fileio_read_backup_info_entries().

#define MSGCAT_FILEIO_BKUP_FILE   9

Definition at line 139 of file file_io.c.

Referenced by fileio_backup_volume(), fileio_list_restore(), and fileio_restore_volume().

#define MSGCAT_FILEIO_BKUP_FIND_REASON   24

Definition at line 154 of file file_io.c.

Referenced by fileio_get_next_backup_volume().

#define MSGCAT_FILEIO_BKUP_HDR   3

Definition at line 133 of file file_io.c.

Referenced by fileio_list_restore().

#define MSGCAT_FILEIO_BKUP_HDR_BKUP_PAGESIZE   27

Definition at line 157 of file file_io.c.

Referenced by fileio_list_restore().

#define MSGCAT_FILEIO_BKUP_HDR_DBINFO   6

Definition at line 136 of file file_io.c.

Referenced by fileio_list_restore().

#define MSGCAT_FILEIO_BKUP_HDR_INC_ACTIVELOG   29

Definition at line 159 of file file_io.c.

Referenced by fileio_list_restore().

#define MSGCAT_FILEIO_BKUP_HDR_LEVEL   7

Definition at line 137 of file file_io.c.

Referenced by fileio_list_restore().

#define MSGCAT_FILEIO_BKUP_HDR_LX_LSA   22

Definition at line 152 of file file_io.c.

Referenced by fileio_list_restore().

#define MSGCAT_FILEIO_BKUP_HDR_MAGICID   4

Definition at line 134 of file file_io.c.

#define MSGCAT_FILEIO_BKUP_HDR_RELEASES   5

Definition at line 135 of file file_io.c.

Referenced by fileio_list_restore().

#define MSGCAT_FILEIO_BKUP_HDR_TIME   8

Definition at line 138 of file file_io.c.

Referenced by fileio_list_restore().

#define MSGCAT_FILEIO_BKUP_HDR_ZIP_INFO   28

Definition at line 158 of file file_io.c.

Referenced by fileio_list_restore().

#define MSGCAT_FILEIO_BKUP_NEEDED   2

Definition at line 132 of file file_io.c.

#define MSGCAT_FILEIO_BKUP_NEXT_BKVOL   26

Definition at line 156 of file file_io.c.

Referenced by fileio_list_restore().

#define MSGCAT_FILEIO_BKUP_PREV_BKVOL   25

Definition at line 155 of file file_io.c.

Referenced by fileio_list_restore().

#define MSGCAT_FILEIO_DB_MISMATCH   17

Definition at line 147 of file file_io.c.

Referenced by fileio_continue_restore().

#define MSGCAT_FILEIO_INCORRECT_BKVOLUME   14

Definition at line 144 of file file_io.c.

Referenced by fileio_make_error_message().

#define MSGCAT_FILEIO_INPUT_RANGE_ERROR   13

Definition at line 143 of file file_io.c.

Referenced by fileio_find_restore_volume().

#define MSGCAT_FILEIO_LEVEL_MISMATCH   15

Definition at line 145 of file file_io.c.

Referenced by fileio_continue_restore().

#define MSGCAT_FILEIO_MAGIC_MISMATCH   16

Definition at line 146 of file file_io.c.

Referenced by fileio_continue_restore().

#define MSGCAT_FILEIO_NEWLOCATION   12

Definition at line 142 of file file_io.c.

Referenced by fileio_find_restore_volume().

#define MSGCAT_FILEIO_REST_RELO_NEEDED   10

Definition at line 140 of file file_io.c.

Referenced by fileio_find_restore_volume().

#define MSGCAT_FILEIO_REST_RELO_OPTIONS   11

Definition at line 141 of file file_io.c.

Referenced by fileio_find_restore_volume().

#define MSGCAT_FILEIO_RESTORE_FIND_REASON   23
#define MSGCAT_FILEIO_STARTS   1

Definition at line 131 of file file_io.c.

Referenced by fileio_find_restore_volume().

#define MSGCAT_FILEIO_UNIT_NUM_MISMATCH   18

Definition at line 148 of file file_io.c.

Referenced by fileio_continue_restore().

#define pthread_mutex_init (   a,
 
)

Typedef Documentation

Definition at line 322 of file file_io.c.

Definition at line 323 of file file_io.c.

Definition at line 324 of file file_io.c.

Definition at line 326 of file file_io.c.

Definition at line 325 of file file_io.c.

Definition at line 328 of file file_io.c.

Definition at line 327 of file file_io.c.

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

Definition at line 418 of file file_io.c.

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

Definition at line 417 of file file_io.c.

Enumeration Type Documentation

Enumerator
FILEIO_RELOCATION_FIRST 
FILEIO_RELOCATION_QUIT 
FILEIO_RELOCATION_RETRY 
FILEIO_RELOCATION_ALTERNATE 
FILEIO_RELOCATION_LAST 

Definition at line 313 of file file_io.c.

Function Documentation

void fileio_abort_restore ( THREAD_ENTRY thread_p,
FILEIO_BACKUP_SESSION session_p 
)

Definition at line 8980 of file file_io.c.

References fileio_abort_backup().

Referenced by fileio_finish_restore(), fileio_list_restore(), and logpb_restore().

Here is the caller graph for this function:

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

Definition at line 11197 of file file_io.c.

References ARG_FILE_LINE, ER_ERROR_SEVERITY, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), fileio_bkvinf_entry::link, and NULL.

Referenced by fileio_add_volume_to_backup_info().

Here is the caller graph for this function:

int fileio_backup_volume ( THREAD_ENTRY thread_p,
FILEIO_BACKUP_SESSION session_p,
const char *  from_vol_label_p,
VOLID  from_vol_id,
PAGEID  last_page,
bool  is_only_updated_pages 
)

Definition at line 8215 of file file_io.c.

References fileio_thread_info::act_r_threads, fileio_backup_db_buffer::area, fileio_node::area, ARG_FILE_LINE, fileio_backup_header::bkpagesize, io_backup_session::bkup, fileio_backup_buffer::bkuphdr, CEIL_PTVDIV, fileio_thread_info::check_ratio, io_backup_session::dbfile, ER_ERROR_SEVERITY, ER_FAILED, ER_IO_MOUNT_FAIL, ER_IO_READ, er_set_with_oserror(), error(), fileio_allocate_node(), FILEIO_BACKUP_FILE_END_PAGE_ID, FILEIO_BACKUP_FILE_HEADER_PAGE_SIZE, FILEIO_BACKUP_FILE_START_PAGE_ID, FILEIO_BACKUP_PAGE_OVERHEAD, FILEIO_CHECK_FOR_INTERRUPT_INTERVAL, fileio_close(), fileio_compress_backup_node(), FILEIO_DBVOLS_IO_PAGE_SIZE, fileio_free_node(), fileio_get_base_file_name(), fileio_get_volume_descriptor(), fileio_open(), fileio_read_backup(), FILEIO_SET_BACKUP_PAGE_ID, FILEIO_SET_BACKUP_PAGE_ID_COPY, fileio_write_backup(), fileio_write_backup_node(), FILEIO_ZIP_NONE_METHOD, IO_PAGESIZE, fileio_thread_info::io_queue, fileio_backup_page::iopage, fileio_backup_page::iopageid, LOG_DBLOG_ACTIVE_VOLID, fileio_page_reserved::lsa, fileio_backup_db_buffer::lsa, LSA_ISNULL(), LSA_LT(), MSGCAT_CATALOG_CUBRID, MSGCAT_FILEIO_BKUP_FILE, msgcat_message(), MSGCAT_SET_IO, fileio_backup_file_header::nbytes, fileio_backup_db_buffer::nbytes, NO_ERROR, fileio_node::nread, NULL, NULL_VOLDES, NULL_VOLID, fileio_thread_info::num_threads, fileio_node::pageid, pgbuf_is_log_check_for_interrupts(), fileio_page::prv, io_backup_session::read_thread_info, rv, fileio_backup_db_buffer::vdes, io_backup_session::verbose_fp, fileio_backup_file_header::vlabel, fileio_backup_db_buffer::vlabel, fileio_backup_file_header::volid, fileio_backup_db_buffer::volid, fileio_backup_buffer::voltotalio, xdisk_get_total_numpages(), and fileio_backup_header::zip_method.

Referenced by logpb_backup(), logpb_backup_for_volume(), and logpb_fatal_error_internal().

Here is the caller graph for this function:

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

Definition at line 5153 of file file_io.c.

References fileio_close(), FILEIO_DISK_FORMAT_MODE, FILEIO_DISK_PROTECTION_MODE, fileio_open(), and NULL_VOLDES.

Referenced by fileio_get_primitive_way_max().

Here is the caller graph for this function:

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 
)
static

Definition at line 5193 of file file_io.c.

Referenced by fileio_get_primitive_way_max().

Here is the caller graph for this function:

static void fileio_check_lockby_file ( char *  name_info_lock_p)
static

Definition at line 1763 of file file_io.c.

References CUB_MAXHOSTNAMELEN, FILEIO_USER_NAME_SIZE, GETHOSTNAME, GETPID, getuserid(), host, NULL, and pid.

Referenced by fileio_unlock().

Here is the caller graph for this function:

int fileio_clear_backup_info_level ( int  level,
bool  is_dealloc,
int  which_bkvinf 
)
static void fileio_compensate_flush ( THREAD_ENTRY thread_p,
int  fd,
int  npage 
)
static
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 
)
static

Definition at line 9335 of file file_io.c.

References fileio_backup_db_buffer::area, ARG_FILE_LINE, asprintf(), io_backup_session::bkup, fileio_backup_header::bkup_iosize, fileio_backup_buffer::bkuphdr, fileio_backup_buffer::buffer, CTIME_MAX, CUBRID_MAGIC_DATABASE_BACKUP, CUBRID_MAGIC_DATABASE_BACKUP_OLD, fileio_backup_header::db_creation, fileio_backup_header::db_fullname, fileio_backup_header::db_iopagesize, fileio_backup_header::db_release, io_backup_session::dbfile, fileio_backup_buffer::dtype, ER_ERROR_SEVERITY, ER_FATAL_ERROR_SEVERITY, ER_GENERIC_ERROR, ER_IO_MOUNT_FAIL, ER_IO_NOT_A_BACKUP, ER_IO_NOT_A_BACKUP_OF_GIVEN_DATABASE, ER_LOG_BKUP_INCOMPATIBLE, ER_LOG_CANNOT_ACCESS_BACKUP, ER_LOG_RECOVER_ON_OLD_RELEASE, er_msg(), ER_OUT_OF_VIRTUAL_MEMORY, er_set(), er_set_with_oserror(), FILEIO_BACKUP_FILE_HEADER_PAGE_SIZE, FILEIO_BACKUP_FULL_LEVEL, FILEIO_BACKUP_PAGE_OVERHEAD, FILEIO_BACKUP_START_PAGE_ID, FILEIO_BACKUP_VOL_CONT_PAGE_ID, FILEIO_BACKUP_VOL_DEVICE, fileio_close(), fileio_ctime(), fileio_find_restore_volume(), FILEIO_FULL_LEVEL_EXP, fileio_get_base_file_name(), FILEIO_INITIAL_BACKUP_UNITS, fileio_make_backup_name(), fileio_make_error_message(), fileio_open(), fileio_read_restore_header(), FILEIO_RELOCATION_QUIT, free_and_init, IO_PAGESIZE, fileio_backup_header::iopageid, fileio_backup_buffer::iosize, fileio_backup_header::level, fileio_backup_db_buffer::level, fileio_backup_buffer::loc_db_fullname, fileio_backup_db_buffer::lsa, LSA_COPY(), fileio_backup_header::magic, MSGCAT_CATALOG_CUBRID, MSGCAT_FILEIO_BACKUP_TIME_MISMATCH, MSGCAT_FILEIO_DB_MISMATCH, MSGCAT_FILEIO_LEVEL_MISMATCH, MSGCAT_FILEIO_MAGIC_MISMATCH, MSGCAT_FILEIO_RESTORE_FIND_REASON, MSGCAT_FILEIO_UNIT_NUM_MISMATCH, msgcat_message(), MSGCAT_SET_IO, fileio_backup_buffer::name, NO_ERROR, NULL, NULL_VOLDES, fileio_backup_buffer::ptr, rel_is_log_compatible(), rel_name(), rel_release_string(), fileio_backup_header::start_lsa, fileio_backup_header::start_time, fileio_backup_header::unit_num, fileio_backup_buffer::vdes, and fileio_backup_buffer::vlabel.

Referenced by fileio_read_restore(), and fileio_start_restore().

Here is the caller graph for this function:

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 
)
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 
)
static
static char * fileio_ctime ( INT64 *  clock,
char *  buf 
)
static

Definition at line 1118 of file file_io.c.

References p.

Referenced by fileio_continue_restore(), fileio_finish_backup(), fileio_get_next_backup_volume(), fileio_lock(), and fileio_lock_la_log_path().

Here is the caller graph for this function:

static FILEIO_NODE * fileio_delete_queue_head ( FILEIO_QUEUE qp)
static

Definition at line 7630 of file file_io.c.

References fileio_queue::head, fileio_node::next, NULL, fileio_node::prev, fileio_queue::size, and fileio_queue::tail.

Referenced by fileio_finalize_backup_thread(), and fileio_write_backup_node().

Here is the caller graph for this function:

static bool fileio_dismount_volume ( THREAD_ENTRY thread_p,
FILEIO_VOLUME_INFO vol_info_p,
APPLY_ARG ignore_arg 
)
static
void fileio_dismount_without_fsync ( THREAD_ENTRY thread_p,
int  vol_fd 
)
static int fileio_expand_permanent_volume_info ( FILEIO_VOLUME_HEADER header,
int  volid 
)
static
void fileio_finalize_backup_info ( int  which_bkvinf)
int fileio_finish_restore ( THREAD_ENTRY thread_p,
FILEIO_BACKUP_SESSION session_p 
)

Definition at line 9683 of file file_io.c.

References fileio_abort_restore(), fileio_synchronize_all(), and success().

Referenced by fileio_list_restore(), and logpb_restore().

Here is the caller graph for this function:

void fileio_flush_control_finalize ( void  )

Definition at line 702 of file file_io.c.

References assert, fc_Token_bucket, NULL, pthread_mutex_destroy, token_bucket::token_mutex, and token_bucket::waiter_cond.

Referenced by pgbuf_get_page_flush_interval().

Here is the caller graph for this function:

static int fileio_flush_control_get_desired_rate ( TOKEN_BUCKET tb)
static
static int fileio_flush_control_get_token ( THREAD_ENTRY thread_p,
int  ntoken 
)
static
static FILEIO_NODE * fileio_free_node ( FILEIO_QUEUE qp,
FILEIO_NODE node 
)
static
const char* fileio_get_backup_info_volume_name ( FILEIO_BACKUP_LEVEL  level,
int  unit_num,
int  which_bkvinf 
)
static const char * fileio_get_backup_level_string ( FILEIO_BACKUP_LEVEL  level)
static

Definition at line 10723 of file file_io.c.

References FILEIO_BACKUP_BIG_INCREMENT_LEVEL, FILEIO_BACKUP_FULL_LEVEL, and FILEIO_BACKUP_SMALL_INCREMENT_LEVEL.

Referenced by fileio_find_restore_volume(), and fileio_list_restore().

Here is the caller graph for this function:

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

Definition at line 2039 of file file_io.c.

References ARG_FILE_LINE, ER_ERROR_SEVERITY, ER_IO_GET_LOCK_FAIL, er_set_with_oserror(), error(), fileio_lock_file_read, and NO_ERROR.

Referenced by fileio_open().

Here is the caller graph for this function:

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

Definition at line 5459 of file file_io.c.

References fileio_get_primitive_way_max(), NULL, and strncpy_bufsize.

Referenced by logpb_verify_length().

Here is the caller graph for this function:

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

Definition at line 10803 of file file_io.c.

References fileio_backup_buffer::alltotalio, ARG_FILE_LINE, asprintf(), io_backup_session::bkup, fileio_backup_buffer::bkuphdr, CTIME_MAX, fileio_backup_header::db_fullname, fileio_backup_header::db_next_bkvolname, fileio_backup_header::db_prec_bkvolname, io_backup_session::dbfile, fileio_backup_buffer::dtype, ER_ERROR_SEVERITY, ER_FAILED, ER_FATAL_ERROR_SEVERITY, ER_IO_MOUNT_FAIL, ER_LOG_CANNOT_ACCESS_BACKUP, er_msg(), ER_OUT_OF_VIRTUAL_MEMORY, er_set(), er_set_with_oserror(), fileio_add_volume_to_backup_info(), FILEIO_BACKUP_FULL_LEVEL, FILEIO_BACKUP_MINIMUM_NUM_PAGES, FILEIO_BACKUP_MINIMUM_NUM_PAGES_FULL_LEVEL, FILEIO_BACKUP_VOL_CONT_PAGE_ID, FILEIO_BACKUP_VOL_DEVICE, FILEIO_BACKUP_VOL_DIRECTORY, fileio_create_backup_volume(), fileio_ctime(), fileio_dismount(), fileio_dismount_without_fsync(), fileio_find_restore_volume(), FILEIO_FIRST_BACKUP_VOL_INFO, fileio_get_base_file_name(), fileio_get_directory_path(), fileio_make_backup_name(), FILEIO_MAX_USER_RESPONSE_SIZE, FILEIO_PROMPT_DISPLAY_ONLY, FILEIO_RELOCATION_QUIT, fileio_request_user_response(), fileio_backup_header::iopageid, fileio_backup_header::level, fileio_backup_db_buffer::level, LOG_DBCOPY_VOLID, MSGCAT_CATALOG_CUBRID, MSGCAT_FILEIO_BACKUP_LABEL_INFO, MSGCAT_FILEIO_BKUP_FIND_REASON, msgcat_message(), MSGCAT_SET_IO, fileio_backup_buffer::name, NO_ERROR, NULL, NULL_VOLDES, fileio_backup_header::start_time, fileio_backup_header::unit_num, fileio_backup_buffer::vdes, fileio_backup_buffer::vlabel, and fileio_backup_buffer::voltotalio.

Referenced by fileio_flush_backup().

Here is the caller graph for this function:

DKNPAGES fileio_get_number_of_volume_pages ( int  vol_fd,
size_t  page_size 
)

Definition at line 4918 of file file_io.c.

References page_size.

Referenced by dwb_check_data_page_is_sane(), dwb_load_and_recover_pages(), and log_get_num_pages_for_creation().

Here is the caller graph for this function:

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

Definition at line 5604 of file file_io.c.

References FILEIO_MAX_SUFFIX_LENGTH.

Referenced by logpb_verify_length().

Here is the caller graph for this function:

static int fileio_increase_flushed_page_count ( int  npages)
static

Definition at line 590 of file file_io.c.

References fileio_Flushed_page_count, fileio_Flushed_page_counter_mutex, pthread_mutex_lock, and pthread_mutex_unlock.

Referenced by fileio_compensate_flush().

Here is the caller graph for this function:

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 
)

Definition at line 6729 of file file_io.c.

References fileio_backup_buffer::alltotalio, fileio_backup_db_buffer::area, ARG_FILE_LINE, fileio_backup_header::bk_hdr_version, io_backup_session::bkup, fileio_backup_header::bkup_iosize, fileio_backup_buffer::bkuphdr, fileio_backup_buffer::buffer, fileio_backup_buffer::count, fileio_backup_buffer::current_path, DB_INT32_MAX, fileio_backup_header::db_next_bkvolname, fileio_backup_header::db_prec_bkvolname, io_backup_session::dbfile, fileio_backup_buffer::dtype, fileio_backup_header::end_time, ER_ERROR_SEVERITY, ER_IO_CANNOT_OPEN_VERBOSE_FILE, ER_IO_MOUNT_FAIL, er_log_debug, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), er_set_with_oserror(), error(), FILEIO_BACKUP_CURRENT_HEADER_VERSION, FILEIO_BACKUP_FILE_HEADER_PAGE_SIZE, FILEIO_BACKUP_FULL_LEVEL, FILEIO_BACKUP_HEADER_IO_SIZE, FILEIO_BACKUP_PAGE_OVERHEAD, FILEIO_BACKUP_VOL_DEVICE, FILEIO_BACKUP_VOL_DIRECTORY, FILEIO_BACKUP_VOL_UNKNOWN, FILEIO_BACKUP_WRITE, fileio_close(), FILEIO_DISK_FORMAT_MODE, FILEIO_DISK_PROTECTION_MODE, FILEIO_FULL_LEVEL_EXP, fileio_get_base_file_name(), fileio_get_directory_path(), FILEIO_INITIAL_BACKUP_UNITS, fileio_initialize_backup_thread(), fileio_make_backup_name(), fileio_open(), FILEIO_SET_BACKUP_PAGE_ID, FILEIO_ZIP_NONE_LEVEL, FILEIO_ZIP_NONE_METHOD, free_and_init, IO_PAGESIZE, fileio_backup_buffer::iosize, fileio_backup_header::level, fileio_backup_db_buffer::level, fileio_backup_db_buffer::lsa, LSA_SET_NULL(), fileio_backup_buffer::name, fileio_backup_db_buffer::nbytes, NO_ERROR, NULL, NULL_PAGEID, NULL_VOLDES, NULL_VOLID, prm_get_bigint_value(), prm_get_integer_value(), PRM_ID_IO_BACKUP_MAX_VOLUME_SIZE, PRM_ID_IO_BACKUP_NBUFFERS, fileio_backup_buffer::ptr, io_backup_session::sleep_msecs, fileio_backup_header::start_time, strncpy_bufsize, io_backup_session::type, fileio_backup_header::unit_num, fileio_backup_buffer::vdes, fileio_backup_db_buffer::vdes, io_backup_session::verbose_fp, fileio_backup_buffer::vlabel, fileio_backup_db_buffer::vlabel, fileio_backup_db_buffer::volid, fileio_backup_buffer::voltotalio, fileio_backup_header::zip_level, and fileio_backup_header::zip_method.

Referenced by fileio_initialize_restore(), and logpb_backup().

Here is the caller graph for this function:

static int fileio_initialize_backup_info ( int  which_bkvinf)
static

Definition at line 11164 of file file_io.c.

References envvar_get(), fileio_bkvinf_queues::free, NO_ERROR, and NULL.

Referenced by fileio_add_volume_to_backup_info(), and fileio_read_backup_info_entries().

Here is the caller graph for this function:

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,
int  kbytes_to_be_written_per_sec 
)
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 
)
static
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 
)
static bool fileio_is_system_volume_descriptor_equal ( THREAD_ENTRY thread_p,
FILEIO_SYSTEM_VOLUME_INFO sys_vol_info_p,
APPLY_ARG arg 
)
static

Definition at line 3571 of file file_io.c.

References fileio_sys_volinfo::vdes, and fileio_apply_function_arg::vdes.

Referenced by fileio_get_lockf_type(), fileio_get_volume_id(), and pwrite_with_injected_fault().

Here is the caller graph for this function:

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

Definition at line 3578 of file file_io.c.

References fileio_apply_function_arg::vol_id, and fileio_sys_volinfo::volid.

Referenced by fileio_get_volume_descriptor(), and fileio_get_volume_label().

Here is the caller graph for this function:

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

Definition at line 3584 of file file_io.c.

References util_compare_filepath(), fileio_sys_volinfo::vlabel, and fileio_apply_function_arg::vol_label.

Referenced by fileio_find_volume_descriptor_with_label(), and fileio_find_volume_id_with_label().

Here is the caller graph for this function:

static bool fileio_is_terminated_process ( int  pid)
static

Definition at line 1141 of file file_io.c.

References FALSE, and NULL.

Referenced by fileio_lock().

Here is the caller graph for this function:

static bool fileio_is_volume_descriptor_equal ( THREAD_ENTRY thread_p,
FILEIO_VOLUME_INFO vol_info_p,
APPLY_ARG arg 
)
static
bool fileio_is_volume_exist_and_file ( const char *  vol_label_p)

Definition at line 5132 of file file_io.c.

References fileio_find_volume_descriptor_with_label(), and NULL_VOLDES.

Referenced by fileio_abort_backup(), fileio_remove_all_backup(), and logpb_backup().

Here is the caller graph for this function:

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

Definition at line 3524 of file file_io.c.

References NULL_VOLID, fileio_apply_function_arg::vol_id, and fileio_volinfo::volid.

Referenced by fileio_is_temp_volume().

Here is the caller graph for this function:

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

Definition at line 3534 of file file_io.c.

References NULL_VOLID, fileio_apply_function_arg::vol_id, and fileio_volinfo::volid.

Referenced by fileio_find_next_perm_volume(), and fileio_find_previous_temp_volume().

Here is the caller graph for this function:

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

Definition at line 3544 of file file_io.c.

References NULL_VOLID, fileio_apply_function_arg::vol_id, and fileio_volinfo::volid.

Referenced by fileio_find_previous_perm_volume().

Here is the caller graph for this function:

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

Definition at line 6307 of file file_io.c.

References util_compare_filepath(), fileio_volinfo::vlabel, and fileio_apply_function_arg::vol_label.

Referenced by fileio_find_volume_descriptor_with_label(), and fileio_find_volume_id_with_label().

Here is the caller graph for this function:

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 
)

Definition at line 9703 of file file_io.c.

References fileio_backup_db_buffer::area, ARG_FILE_LINE, fileio_backup_record_info::at_time, fileio_backup_header::bkpagesize, io_backup_session::bkup, fileio_backup_buffer::bkuphdr, CEIL_PTVDIV, fileio_backup_header::chkpt_lsa, CTIME_MAX, fileio_backup_header::db_compatibility, fileio_backup_header::db_creation, fileio_backup_header::db_fullname, fileio_backup_header::db_iopagesize, fileio_backup_header::db_next_bkvolname, fileio_backup_header::db_prec_bkvolname, fileio_backup_header::db_release, io_backup_session::dbfile, er_errid(), ER_ERROR_SEVERITY, ER_FAILED, ER_FATAL_ERROR_SEVERITY, ER_GENERIC_ERROR, ER_IO_BKUP_DATABASE_VOLUME_OR_FILE_EXPECTED, ER_IO_NOT_A_BACKUP, ER_IO_RESTORE_READ_ERROR, ER_LOG_CANNOT_ACCESS_BACKUP, er_set(), error(), fileio_abort_restore(), FILEIO_BACKUP_END_PAGE_ID, FILEIO_BACKUP_FILE_HEADER_PAGE_SIZE, FILEIO_BACKUP_FILE_START_PAGE_ID, FILEIO_BACKUP_FULL_LEVEL, FILEIO_BACKUP_START_PAGE_ID, FILEIO_BACKUP_UNDEFINED_LEVEL, FILEIO_BACKUP_VOL_CONT_PAGE_ID, fileio_finish_restore(), fileio_get_backup_level_string(), FILEIO_GET_BACKUP_PAGE_ID, fileio_get_zip_level_string(), fileio_get_zip_method_string(), FILEIO_INITIAL_BACKUP_UNITS, fileio_read_restore(), fileio_skip_restore_volume(), fileio_start_restore(), i, IO_PAGESIZE, fileio_backup_page::iopage, fileio_backup_header::iopageid, fileio_backup_header::level, fileio_backup_record_info::lsa, MSGCAT_CATALOG_CUBRID, MSGCAT_FILEIO_BKUP_FILE, MSGCAT_FILEIO_BKUP_HDR, MSGCAT_FILEIO_BKUP_HDR_BKUP_PAGESIZE, MSGCAT_FILEIO_BKUP_HDR_DBINFO, MSGCAT_FILEIO_BKUP_HDR_INC_ACTIVELOG, MSGCAT_FILEIO_BKUP_HDR_LEVEL, MSGCAT_FILEIO_BKUP_HDR_LX_LSA, MSGCAT_FILEIO_BKUP_HDR_RELEASES, MSGCAT_FILEIO_BKUP_HDR_TIME, MSGCAT_FILEIO_BKUP_HDR_ZIP_INFO, MSGCAT_FILEIO_BKUP_NEXT_BKVOL, MSGCAT_FILEIO_BKUP_PREV_BKVOL, msgcat_message(), MSGCAT_SET_IO, fileio_backup_file_header::nbytes, fileio_backup_db_buffer::nbytes, NO_ERROR, NULL, log_lsa::offset, log_lsa::pageid, fileio_backup_header::previnfo, fileio_backup_header::skip_activelog, fileio_backup_header::start_lsa, fileio_backup_header::start_time, strlen, fileio_backup_header::unit_num, fileio_backup_buffer::vlabel, fileio_backup_file_header::vlabel, fileio_backup_db_buffer::vlabel, fileio_backup_file_header::volid, fileio_backup_db_buffer::volid, fileio_backup_header::zip_level, and fileio_backup_header::zip_method.

Referenced by print_backup_info().

Here is the caller graph for this function:

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 
)
static int fileio_lock_region ( int  fd,
int  cmd,
int  type,
off_t  offset,
int  whence,
off_t  len 
)
static

Definition at line 11530 of file file_io.c.

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 
)

Definition at line 5853 of file file_io.c.

References FILEIO_SUFFIX_BACKUP, and PATH_SEPARATOR.

Referenced by fileio_continue_restore(), fileio_get_backup_volume(), fileio_get_next_backup_volume(), fileio_initialize_backup(), logpb_backup(), and logpb_restore().

Here is the caller graph for this function:

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 
)

Definition at line 5881 of file file_io.c.

References FILEIO_PATH_SEPARATOR, and FILEIO_SUFFIX_DWB.

Referenced by dwb_create(), dwb_load_and_recover_pages(), and logpb_delete().

Here is the caller graph for this function:

static int fileio_make_error_message ( THREAD_ENTRY thread_p,
char *  error_message_p 
)
static
void fileio_make_keys_name ( char *  keys_name_p,
const char *  db_full_name_p 
)

Definition at line 5897 of file file_io.c.

References FILEIO_SUFFIX_KEYS.

Referenced by tde_make_keys_file_fullname().

Here is the caller graph for this function:

void fileio_make_keys_name_given_path ( char *  keys_name_p,
const char *  keys_path_p,
const char *  db_name_p 
)

Definition at line 5914 of file file_io.c.

References FILEIO_PATH_SEPARATOR, and FILEIO_SUFFIX_KEYS.

Referenced by tde_make_keys_file_fullname().

Here is the caller graph for this function:

void fileio_make_log_active_name ( char *  log_active_name_p,
const char *  log_path_p,
const char *  db_name_p 
)

Definition at line 5707 of file file_io.c.

References FILEIO_PATH_SEPARATOR, and FILEIO_SUFFIX_LOGACTIVE.

Referenced by la_find_log_pagesize(), la_log_page_check(), logpb_copy_database(), logpb_initialize_log_names(), and logpb_rename_all_volumes_files().

Here is the caller graph for this function:

void fileio_make_log_archive_temp_name ( char *  log_archive_temp_name_p,
const char *  log_path_p,
const char *  db_name_p 
)

Definition at line 5793 of file file_io.c.

References FILEIO_PATH_SEPARATOR, and FILEIO_SUFFIX_TMP_LOGARCHIVE.

Referenced by logpb_initialize_log_names().

Here is the caller graph for this function:

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

Definition at line 5815 of file file_io.c.

References FILEIO_PATH_SEPARATOR, and FILEIO_SUFFIX_LOGINFO.

Referenced by la_apply_log_file(), logpb_copy_database(), logpb_initialize_log_names(), and logpb_rename_all_volumes_files().

Here is the caller graph for this function:

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

Definition at line 5777 of file file_io.c.

References FILEIO_PATH_SEPARATOR, and FILEIO_SUFFIX_LOGARCHIVE.

Referenced by logpb_initialize_log_names().

Here is the caller graph for this function:

void fileio_make_temp_log_files_from_backup ( char *  temp_log_name,
VOLID  to_volid,
FILEIO_BACKUP_LEVEL  level,
const char *  base_log_name 
)

Definition at line 5726 of file file_io.c.

References LOG_DBLOG_ACTIVE_VOLID, LOG_DBLOG_ARCHIVE_VOLID, and LOG_DBLOG_INFO_VOLID.

Referenced by logpb_restore().

Here is the caller graph for this function:

void fileio_make_volume_ext_given_name ( char *  vol_ext_full_name_p,
const char *  ext_path_p,
const char *  ext_name_p 
)

Definition at line 5672 of file file_io.c.

References FILEIO_PATH_SEPARATOR.

Referenced by boot_get_new_volume_name_and_id().

Here is the caller graph for this function:

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 
)

Definition at line 5654 of file file_io.c.

References FILEIO_PATH_SEPARATOR, and FILEIO_VOLEXT_PREFIX.

Referenced by boot_get_new_volume_name_and_id(), disk_add_volume(), log_recovery_notpartof_volumes(), and logpb_next_where_path().

Here is the caller graph for this function:

void fileio_make_volume_info_name ( char *  vol_info_name_p,
const char *  db_full_name_p 
)
static void fileio_make_volume_lock_name ( char *  vol_lockname,
const char *  vol_fullname 
)
static

Definition at line 5620 of file file_io.c.

References FILEIO_VOLLOCK_SUFFIX.

Referenced by fileio_lock(), and fileio_unlock().

Here is the caller graph for this function:

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 
)

Definition at line 5690 of file file_io.c.

References FILEIO_VOLTMP_PREFIX, and PATH_SEPARATOR.

Referenced by boot_find_rest_temp_volumes(), boot_get_new_volume_name_and_id(), and boot_make_temp_volume_fullname().

Here is the caller graph for this function:

static int fileio_max_permanent_volumes ( int  index,
int  num_permanent_volums 
)
static

Definition at line 3189 of file file_io.c.

References FILEIO_VOLINFO_INCREMENT.

Referenced by fileio_map_mounted(), fileio_reverse_traverse_permanent_volume(), and fileio_traverse_permanent_volume().

Here is the caller graph for this function:

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

Definition at line 3202 of file file_io.c.

References FILEIO_VOLINFO_INCREMENT.

Referenced by fileio_map_mounted(), fileio_reverse_traverse_temporary_volume(), and fileio_traverse_temporary_volume().

Here is the caller graph for this function:

static ssize_t fileio_os_read ( THREAD_ENTRY thread_p,
int  vol_fd,
void *  io_page_p,
size_t  count,
off_t  offset 
)
static
static ssize_t fileio_os_write ( THREAD_ENTRY thread_p,
int  vol_fd,
void *  io_page_p,
size_t  count,
off_t  offset 
)
static
FILEIO_RESTORE_PAGE_BITMAP* fileio_page_bitmap_create ( int  vol_id,
int  total_pages 
)

Definition at line 11615 of file file_io.c.

References ARG_FILE_LINE, page_bitmap::bitmap, CEIL_PTVDIV, ER_ERROR_SEVERITY, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), free_and_init, page_bitmap::next, NULL, page_bitmap::size, and page_bitmap::vol_id.

Referenced by logpb_restore().

Here is the caller graph for this function:

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

Definition at line 11791 of file file_io.c.

References assert, page_bitmap::bitmap, i, NULL, page_bitmap::size, and page_bitmap::vol_id.

Referenced by fileio_restore_volume().

Here is the caller graph for this function:

static bool fileio_page_bitmap_is_set ( FILEIO_RESTORE_PAGE_BITMAP page_bitmap,
int  page_id 
)
static

Definition at line 11772 of file file_io.c.

References assert, page_bitmap::bitmap, NULL, and page_bitmap::size.

Referenced by fileio_write_restore().

Here is the caller graph for this function:

void fileio_page_bitmap_list_add ( FILEIO_RESTORE_PAGE_BITMAP_LIST page_bitmap_list,
FILEIO_RESTORE_PAGE_BITMAP page_bitmap 
)

Definition at line 11684 of file file_io.c.

References assert, page_bitmap_list::head, page_bitmap::next, NULL, page_bitmap_list::tail, and page_bitmap::vol_id.

Referenced by logpb_restore().

Here is the caller graph for this function:

void fileio_page_bitmap_list_destroy ( FILEIO_RESTORE_PAGE_BITMAP_LIST page_bitmap_list)

Definition at line 11726 of file file_io.c.

References assert, page_bitmap::bitmap, free_and_init, page_bitmap_list::head, page_bitmap::next, NULL, page_bitmap::size, page_bitmap_list::tail, and page_bitmap::vol_id.

Referenced by logpb_restore().

Here is the caller graph for this function:

FILEIO_RESTORE_PAGE_BITMAP* fileio_page_bitmap_list_find ( FILEIO_RESTORE_PAGE_BITMAP_LIST page_bitmap_list,
int  vol_id 
)

Definition at line 11653 of file file_io.c.

References assert, page_bitmap_list::head, page_bitmap::next, NULL, page_bitmap_list::tail, and page_bitmap::vol_id.

Referenced by logpb_restore().

Here is the caller graph for this function:

void fileio_page_bitmap_list_init ( FILEIO_RESTORE_PAGE_BITMAP_LIST page_bitmap_list)

Definition at line 11601 of file file_io.c.

References assert, page_bitmap_list::head, NULL, and page_bitmap_list::tail.

Referenced by logpb_restore().

Here is the caller graph for this function:

static void fileio_page_bitmap_set ( FILEIO_RESTORE_PAGE_BITMAP page_bitmap,
int  page_id 
)
static

Definition at line 11757 of file file_io.c.

References assert, page_bitmap::bitmap, NULL, and page_bitmap::size.

Referenced by fileio_write_restore().

Here is the caller graph for this function:

int fileio_page_check_corruption ( THREAD_ENTRY thread_p,
FILEIO_PAGE io_page,
bool is_page_corrupted 
)

Definition at line 11831 of file file_io.c.

References assert, fileio_is_page_sane(), IO_PAGESIZE, NO_ERROR, and NULL.

Referenced by dwb_check_data_page_is_sane(), dwb_debug_check_dwb(), pgbuf_check_bcb_page_vpid(), and pwrite_with_injected_fault().

Here is the caller graph for this function:

void fileio_page_hexa_dump ( const char *  src_data,
int  length 
)

Definition at line 3597 of file file_io.c.

References ARG_FILE_LINE, assert, er_log_debug, free_and_init, i, and NULL.

Referenced by log_recovery_analysis(), and pwrite_with_injected_fault().

Here is the caller graph for this function:

static void fileio_read_backup_end_time_from_last_page ( FILEIO_BACKUP_SESSION session_p)
static
static int fileio_read_restore ( THREAD_ENTRY thread_p,
FILEIO_BACKUP_SESSION session,
int  toread_nbytes 
)
static
static int fileio_release_lock ( int  fd)
static

Definition at line 2058 of file file_io.c.

References ARG_FILE_LINE, ER_ERROR_SEVERITY, ER_IO_RELEASE_LOCK_FAIL, er_set_with_oserror(), error(), fileio_unlock_file, and NO_ERROR.

Referenced by fileio_close(), fileio_lock_la_dbname(), and fileio_unlock_la_dbname().

Here is the caller graph for this function:

const char* fileio_rename ( VOLID  vol_id,
const char *  old_label_p,
const char *  new_label_p 
)
int fileio_reset_volume ( THREAD_ENTRY thread_p,
int  vol_fd,
const char *  vlabel,
DKNPAGES  npages,
const LOG_LSA reset_lsa_p 
)
int fileio_restore_volume ( THREAD_ENTRY thread_p,
FILEIO_BACKUP_SESSION session_p,
char *  to_vol_label_p,
char *  verbose_to_vol_label_p,
char *  prev_vol_label_p,
FILEIO_RESTORE_PAGE_BITMAP page_bitmap,
bool  is_remember_pages 
)

Definition at line 10235 of file file_io.c.

References fileio_backup_db_buffer::area, ARG_FILE_LINE, fileio_backup_header::bkpagesize, io_backup_session::bkup, fileio_backup_buffer::bkuphdr, CEIL_PTVDIV, fileio_backup_header::db_creation, io_backup_session::dbfile, DISK_FLUSH_AND_INVALIDATE, disk_set_creation(), disk_set_link(), DISK_VOLHEADER_PAGE, ER_ERROR_SEVERITY, ER_FAILED, ER_IO_RESTORE_PAGEID_OUTOF_BOUNDS, ER_IO_RESTORE_READ_ERROR, er_set(), error(), FILEIO_BACKUP_FILE_END_PAGE_ID, FILEIO_BACKUP_FULL_LEVEL, FILEIO_CHECK_RESTORE_PAGE_ID, fileio_decompress_restore_volume(), fileio_dismount(), fileio_fill_hole_during_restore(), fileio_find_previous_perm_volume(), fileio_format(), FILEIO_GET_BACKUP_PAGE_ID, fileio_get_base_file_name(), fileio_is_volume_exist(), fileio_mount(), fileio_page_bitmap_dump(), FILEIO_RESTORE_DBVOLS_IO_PAGE_SIZE, fileio_write_restore(), for(), i, IO_PAGESIZE, fileio_backup_page::iopage, fileio_backup_page::iopageid, fileio_backup_buffer::last_chkpt_lsa, fileio_backup_db_buffer::level, fileio_backup_buffer::loc_db_fullname, LOG_DBFIRST_VOLID, MSGCAT_CATALOG_CUBRID, MSGCAT_FILEIO_BKUP_FILE, msgcat_message(), MSGCAT_SET_IO, fileio_backup_file_header::nbytes, fileio_backup_db_buffer::nbytes, NO_ERROR, NULL, NULL_VOLDES, NULL_VOLID, fileio_backup_header::unit_num, fileio_backup_db_buffer::vdes, io_backup_session::verbose_fp, fileio_backup_db_buffer::vlabel, fileio_backup_file_header::volid, and fileio_backup_db_buffer::volid.

Referenced by logpb_restore().

Here is the caller graph for this function:

static FILEIO_VOLUME_INFO * fileio_reverse_traverse_permanent_volume ( THREAD_ENTRY thread_p,
VOLINFO_APPLY_FN  apply_function,
APPLY_ARG arg 
)
static
static FILEIO_VOLUME_INFO * fileio_reverse_traverse_temporary_volume ( THREAD_ENTRY thread_p,
VOLINFO_APPLY_FN  apply_function,
APPLY_ARG arg 
)
static
int fileio_set_permission ( const char *  vol_label_p)

Definition at line 2002 of file file_io.c.

References ARG_FILE_LINE, ER_ERROR_SEVERITY, ER_IO_CANNOT_CHANGE_PERMISSION, ER_IO_CANNOT_GET_PERMISSION, er_set_with_oserror(), error(), mode, and NO_ERROR.

Referenced by fileio_mount().

Here is the caller graph for this function:

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 
)

Definition at line 7155 of file file_io.c.

References fileio_backup_record_info::at_time, fileio_backup_header::bkpagesize, io_backup_session::bkup, fileio_backup_buffer::bkuphdr, fileio_backup_header::chkpt_lsa, CUBRID_MAGIC_DATABASE_BACKUP, CUBRID_MAGIC_MAX_LENGTH, fileio_backup_header::db_compatibility, fileio_backup_header::db_creation, fileio_backup_header::db_fullname, fileio_backup_header::db_iopagesize, fileio_backup_header::db_release, io_backup_session::dbfile, error(), fileio_abort_backup(), fileio_add_volume_to_backup_info(), FILEIO_BACKUP_FULL_LEVEL, FILEIO_BACKUP_MINIMUM_NUM_PAGES, FILEIO_BACKUP_MINIMUM_NUM_PAGES_FULL_LEVEL, FILEIO_BACKUP_START_PAGE_ID, FILEIO_BACKUP_UNDEFINED_LEVEL, fileio_create_backup_volume(), FILEIO_DBVOLS_IO_PAGE_SIZE, FILEIO_FIRST_BACKUP_VOL_INFO, FILEIO_FULL_LEVEL_EXP, FILEIO_INITIAL_BACKUP_UNITS, fileio_write_backup_header(), FILEIO_ZIP_LZ4_METHOD, i, IO_PAGESIZE, fileio_backup_header::iopageid, fileio_backup_header::level, fileio_backup_db_buffer::level, LOG_DBCOPY_VOLID, fileio_backup_record_info::lsa, fileio_backup_db_buffer::lsa, LSA_COPY(), LSA_SET_NULL(), fileio_backup_header::magic, fileio_backup_buffer::name, NO_ERROR, NULL, NULL_VOLDES, fileio_backup_header::previnfo, rel_disk_compatible(), rel_release_string(), fileio_backup_header::start_lsa, fileio_backup_header::start_time, strncpy_bufsize, fileio_backup_header::unit_num, fileio_backup_buffer::vdes, fileio_backup_buffer::vlabel, fileio_backup_header::zip_level, and fileio_backup_header::zip_method.

Referenced by logpb_backup().

Here is the caller graph for this function:

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 
)

Definition at line 11503 of file file_io.c.

References ARG_FILE_LINE, ER_BO_CANNOT_CREATE_LINK, ER_ERROR_SEVERITY, ER_FAILED, er_set(), fileio_is_volume_exist(), and NO_ERROR.

Referenced by logpb_next_where_path().

Here is the caller graph for this function:

static int fileio_synchronize_bg_archive_volume ( THREAD_ENTRY thread_p)
static
static bool fileio_synchronize_sys_volume ( THREAD_ENTRY thread_p,
FILEIO_SYSTEM_VOLUME_INFO vol_sys_info_p,
APPLY_ARG arg 
)
static
static bool fileio_synchronize_volume ( THREAD_ENTRY thread_p,
FILEIO_VOLUME_INFO vol_info_p,
APPLY_ARG arg 
)
static
static FILEIO_SYSTEM_VOLUME_INFO * fileio_traverse_system_volume ( THREAD_ENTRY thread_p,
SYS_VOLINFO_APPLY_FN  apply_function,
APPLY_ARG arg 
)
static
static void fileio_unlock ( const char *  vlabel,
int  vdes,
FILEIO_LOCKF_TYPE  lockf_type 
)
static
FILEIO_LOCKF_TYPE fileio_unlock_la_dbname ( int *  lockf_vdes,
char *  db_name,
bool  clear_owner 
)
static void fileio_write_backup_end_time_to_last_page ( FILEIO_BACKUP_SESSION session_p,
INT64  end_time 
)
static

Definition at line 7307 of file file_io.c.

References fileio_backup_db_buffer::area, io_backup_session::dbfile, and fileio_backup_page::iopageid.

Referenced by fileio_finish_backup().

Here is the caller graph for this function:

int fileio_write_backup_info_entries ( FILE *  fp,
int  which_bkvinf 
)
static int fileio_write_backup_node ( THREAD_ENTRY thread_p,
FILEIO_BACKUP_SESSION session,
FILEIO_NODE node,
FILEIO_BACKUP_HEADER backup_hdr 
)
static

Definition at line 7743 of file file_io.c.

References fileio_thread_info::act_r_threads, fileio_backup_db_buffer::area, fileio_node::area, ARG_FILE_LINE, assert, fileio_backup_header::bkpagesize, io_backup_session::bkup, fileio_backup_buffer::bkuphdr, file_zip_page::buf_len, fileio_thread_info::check_npages, fileio_thread_info::check_ratio, css_get_current_conn_entry(), css_push_external_task(), fileio_backup_header::db_fullname, io_backup_session::dbfile, fileio_thread_info::end_r_threads, er_errid(), ER_ERROR_SEVERITY, ER_FAILED, ER_GENERIC_ERROR, ER_INTERRUPTED, ER_LOG_DBBACKUP_FAIL, er_set(), fileio_thread_info::errid, error(), fileio_allocate_node(), FILEIO_BACKUP_PAGE_OVERHEAD, FILEIO_CHECK_FOR_INTERRUPT_INTERVAL, fileio_compress_backup_node(), fileio_delete_queue_head(), FILEIO_ERROR_INTERRUPT, fileio_free_node(), fileio_get_base_file_name(), fileio_get_zip_level_string(), fileio_get_zip_method_string(), FILEIO_READ, fileio_read_backup(), FILEIO_SET_BACKUP_PAGE_ID_COPY, FILEIO_WRITE, fileio_write_backup(), FILEIO_ZIP_LZ4_METHOD, FILEIO_ZIP_LZO1X_METHOD, FILEIO_ZIP_NONE_METHOD, FILEIO_ZIP_ZLIB_METHOD, fileio_thread_info::from_npages, fileio_queue::head, i, fileio_thread_info::io_queue, fileio_thread_info::io_type, fileio_backup_page::iopage, LOG_FIND_THREAD_TRAN_INDEX, fileio_page_reserved::lsa, fileio_backup_db_buffer::lsa, LSA_ISNULL(), LSA_LT(), NO_ERROR, fileio_node::nread, NULL, fileio_thread_info::only_updated_pages, fileio_node::pageid, fileio_thread_info::pageid, pgbuf_is_log_check_for_interrupts(), fileio_page::prv, pthread_mutex_lock, pthread_mutex_unlock, io_backup_session::read_thread_info, rv, fileio_queue::size, thread_get_thread_entry_info(), fileio_thread_info::tran_index, io_backup_session::verbose_fp, fileio_node::writeable, fileio_node::zip_info, fileio_backup_header::zip_level, fileio_backup_header::zip_method, and file_zip_info::zip_page.

Referenced by fileio_backup_volume().

Here is the caller graph for this function:

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 
)
static
void* fileio_writev ( THREAD_ENTRY thread_p,
int  vol_fd,
void **  io_page_array,
PAGEID  start_page_id,
DKNPAGES  npages,
size_t  page_size 
)

Variable Documentation

FLUSH_STATS fc_Stats
static

Definition at line 453 of file file_io.c.

TOKEN_BUCKET* fc_Token_bucket = NULL
static
TOKEN_BUCKET fc_Token_bucket_s
static

Definition at line 451 of file file_io.c.

Referenced by fileio_flush_control_initialize().

FILEIO_BACKUP_INFO_QUEUE fileio_Backup_vol_info_data[2]
static
Initial value:
=
{ {false, {NULL, NULL, NULL}, NULL}, {false, {NULL, NULL, NULL}, NULL} }
#define NULL
Definition: freelistheap.h:34

Definition at line 442 of file file_io.c.

int fileio_Flushed_page_count = 0
static

Definition at line 449 of file file_io.c.

Referenced by fileio_compensate_flush(), and fileio_increase_flushed_page_count().

pthread_mutex_t fileio_Flushed_page_counter_mutex = PTHREAD_MUTEX_INITIALIZER
static

Definition at line 447 of file file_io.c.

Referenced by fileio_increase_flushed_page_count().

FILEIO_SYSTEM_VOLUME_HEADER fileio_Sys_vol_info_header
static
Initial value:
= {
0,
{
}
#define NULL_VOLDES
Definition: file_io.h:44
#define NULL
Definition: freelistheap.h:34
#define NULL_VOLID

Definition at line 421 of file file_io.c.

Referenced by fileio_dismount_all().