PostgreSQL Source Code git master
|
#include "filemap.h"
Go to the source code of this file.
Typedefs | |
typedef void(* | process_file_callback_t) (const char *path, file_type_t type, size_t size, const char *link_target) |
Functions | |
void | open_target_file (const char *path, bool trunc) |
void | write_target_range (char *buf, off_t begin, size_t size) |
void | close_target_file (void) |
void | remove_target_file (const char *path, bool missing_ok) |
void | truncate_target_file (const char *path, off_t newsize) |
void | create_target (file_entry_t *entry) |
void | remove_target (file_entry_t *entry) |
void | sync_target_dir (void) |
char * | slurpFile (const char *datadir, const char *path, size_t *filesize) |
void | traverse_datadir (const char *datadir, process_file_callback_t callback) |
typedef void(* process_file_callback_t) (const char *path, file_type_t type, size_t size, const char *link_target) |
Definition at line 26 of file file_ops.h.
void close_target_file | ( | void | ) |
Definition at line 75 of file file_ops.c.
References close, dstfd, dstpath, and pg_fatal.
Referenced by createBackupLabel(), open_target_file(), and perform_rewind().
void create_target | ( | file_entry_t * | entry | ) |
Definition at line 156 of file file_ops.c.
References file_entry_t::action, Assert, create_target_dir(), create_target_symlink(), FILE_ACTION_CREATE, FILE_TYPE_DIRECTORY, FILE_TYPE_REGULAR, FILE_TYPE_SYMLINK, FILE_TYPE_UNDEFINED, file_entry_t::path, pg_fatal, file_entry_t::source_link_target, file_entry_t::source_type, and file_entry_t::target_exists.
Referenced by perform_rewind().
void open_target_file | ( | const char * | path, |
bool | trunc | ||
) |
Definition at line 47 of file file_ops.c.
References close_target_file(), datadir_target, dry_run, dstfd, dstpath, mode, PG_BINARY, pg_fatal, pg_file_create_mode, and snprintf.
Referenced by createBackupLabel(), libpq_queue_fetch_file(), local_queue_fetch_file(), local_queue_fetch_range(), and process_queued_fetch_requests().
void remove_target | ( | file_entry_t * | entry | ) |
Definition at line 130 of file file_ops.c.
References file_entry_t::action, Assert, FILE_ACTION_REMOVE, FILE_TYPE_DIRECTORY, FILE_TYPE_REGULAR, FILE_TYPE_SYMLINK, FILE_TYPE_UNDEFINED, file_entry_t::path, pg_fatal, remove_target_dir(), remove_target_file(), remove_target_symlink(), file_entry_t::target_exists, and file_entry_t::target_type.
Referenced by perform_rewind().
void remove_target_file | ( | const char * | path, |
bool | missing_ok | ||
) |
Definition at line 187 of file file_ops.c.
References datadir_target, dry_run, dstpath, MAXPGPATH, pg_fatal, and snprintf.
Referenced by process_queued_fetch_requests(), and remove_target().
char * slurpFile | ( | const char * | datadir, |
const char * | path, | ||
size_t * | filesize | ||
) |
Definition at line 314 of file file_ops.c.
References close, datadir, fd(), fstat, len, MAXPGPATH, PG_BINARY, pg_fatal, pg_malloc(), read, snprintf, and stat::st_size.
Referenced by getTimelineHistory(), local_fetch_file(), and main().
void sync_target_dir | ( | void | ) |
Definition at line 294 of file file_ops.c.
References datadir_target, do_sync, dry_run, and sync_method.
Referenced by main().
void traverse_datadir | ( | const char * | datadir, |
process_file_callback_t | callback | ||
) |
Definition at line 362 of file file_ops.c.
References callback(), datadir, and recurse_dir().
Referenced by local_traverse_files(), and main().
void truncate_target_file | ( | const char * | path, |
off_t | newsize | ||
) |
Definition at line 206 of file file_ops.c.
References close, datadir_target, dry_run, dstpath, fd(), ftruncate, MAXPGPATH, pg_fatal, pg_file_create_mode, and snprintf.
Referenced by perform_rewind().
void write_target_range | ( | char * | buf, |
off_t | begin, | ||
size_t | size | ||
) |
Definition at line 88 of file file_ops.c.
References buf, dry_run, dstfd, dstpath, fetch_done, pg_fatal, progress_report(), size, and write.
Referenced by createBackupLabel(), local_queue_fetch_file(), local_queue_fetch_range(), and process_queued_fetch_requests().