|
LogCabin
|
#include <assert.h>#include <dirent.h>#include <errno.h>#include <fcntl.h>#include <string.h>#include <sys/file.h>#include <sys/mman.h>#include <sys/stat.h>#include <sys/uio.h>#include <unistd.h>#include "Core/Debug.h"#include "Core/StringUtil.h"#include "Core/Util.h"#include "Storage/FilesystemUtil.h"Go to the source code of this file.
Namespaces | |
| namespace | LogCabin |
| namespace | LogCabin::Storage |
| namespace | LogCabin::Storage::FilesystemUtil |
| namespace | LogCabin::Storage::FilesystemUtil::System |
Functions | |
| void | LogCabin::Storage::FilesystemUtil::allocate (const File &file, uint64_t offset, uint64_t bytes) |
| Allocate a contiguous range of a file, padding with zeros if necessary. | |
| File | LogCabin::Storage::FilesystemUtil::dup (const File &file) |
| Clones a file descriptor. | |
| void | LogCabin::Storage::FilesystemUtil::fsync (const File &file) |
| Flush changes to a File to its underlying storage device. | |
| void | LogCabin::Storage::FilesystemUtil::fdatasync (const File &file) |
| Flush changes to a File to its underlying storage device, except for atime/mtime. | |
| void | LogCabin::Storage::FilesystemUtil::flock (const File &file, int operation) |
| Apply or remove an advisory lock on a file or directory. | |
| std::string | LogCabin::Storage::FilesystemUtil::tryFlock (const File &file, int operation) |
| Apply or remove an advisory lock on a file or directory. | |
| uint64_t | LogCabin::Storage::FilesystemUtil::getSize (const File &file) |
| Returns the size of the file in bytes. | |
| std::vector< std::string > | LogCabin::Storage::FilesystemUtil::lsHelper (DIR *dir, const std::string &path) |
| std::vector< std::string > | LogCabin::Storage::FilesystemUtil::ls (const std::string &path) |
| List the contents of a directory by path. | |
| std::vector< std::string > | LogCabin::Storage::FilesystemUtil::ls (const File &dir) |
| List the contents of an open directory. | |
| File | LogCabin::Storage::FilesystemUtil::openDir (const std::string &path) |
| Open a directory, creating it if it doesn't exist. | |
| File | LogCabin::Storage::FilesystemUtil::openDir (const File &dir, const std::string &child) |
| Open a directory relative to an already open directory, creating it if it doesn't exist. | |
| File | LogCabin::Storage::FilesystemUtil::openFile (const File &dir, const std::string &child, int flags) |
| Open a file. | |
| File | LogCabin::Storage::FilesystemUtil::tryOpenFile (const File &dir, const std::string &child, int flags) |
| Open a file. | |
| void | LogCabin::Storage::FilesystemUtil::remove (const std::string &path) |
| Remove the file or directory at path. | |
| void | LogCabin::Storage::FilesystemUtil::removeFile (const File &dir, const std::string &path) |
| Remove the file relative to an open directory. | |
| void | LogCabin::Storage::FilesystemUtil::rename (const File &oldDir, const std::string &oldChild, const File &newDir, const std::string &newChild) |
| Rename a file. | |
| void | LogCabin::Storage::FilesystemUtil::syncDir (const std::string &path) |
| Open a directory, fsync it, and close it. | |
| void | LogCabin::Storage::FilesystemUtil::truncate (const File &file, uint64_t bytes) |
| Shrink or grow a file to the specified length, padding with zeros if necessary. | |
| std::string | LogCabin::Storage::FilesystemUtil::mkdtemp () |
| Return a path to a temporary directory. | |
| ssize_t | LogCabin::Storage::FilesystemUtil::write (int fildes, const void *data, uint64_t dataLen) |
| A wrapper around write that retries interrupted calls. | |
| ssize_t | LogCabin::Storage::FilesystemUtil::write (int fildes, std::initializer_list< std::pair< const void *, uint64_t >> data) |
| A wrapper around write that retries interrupted calls. | |
Variables | |
| bool | LogCabin::Storage::FilesystemUtil::skipFsync |
| Set to true in some unit tests to skip fsync() and fdatasync(), which can speeds up some tests significantly. | |
| ssize_t(* | LogCabin::Storage::FilesystemUtil::System::writev )(int fildes, const struct iovec *iov, int iovcnt) |
1.7.6.1