![]() |
Bitcoin Core 31.99.0
P2P Digital Currency
|
#include <util/fs.h>#include <cstdint>#include <cstdio>#include <iosfwd>#include <limits>#include <optional>#include <string>Go to the source code of this file.
Namespaces | |
| namespace | util |
Enumerations | |
| enum class | util::LockResult { util::Success , util::ErrorWrite , util::ErrorLock } |
Functions | |
| bool | FileCommit (FILE *file) |
| Ensure file contents are fully committed to disk, using a platform-specific feature analogous to fsync(). More... | |
| void | DirectoryCommit (const fs::path &dirname) |
| Sync directory contents. More... | |
| bool | TruncateFile (FILE *file, unsigned int length) |
| int | RaiseFileDescriptorLimit (int min_fd) |
| Try to raise the file descriptor limit to the requested number. More... | |
| void | AllocateFileRange (FILE *file, unsigned int offset, unsigned int length) |
| this function tries to make a particular range of a file allocated (corresponding to disk space) it is advisory, and the range specified in the arguments will never contain live data More... | |
| bool | RenameOver (fs::path src, fs::path dest) |
| Rename src to dest. More... | |
| LockResult | util::LockDirectory (const fs::path &directory, const fs::path &lockfile_name, bool probe_only) |
| void | UnlockDirectory (const fs::path &directory, const fs::path &lockfile_name) |
| bool | CheckDiskSpace (const fs::path &dir, uint64_t additional_bytes=0) |
| std::streampos | GetFileSize (const char *path, std::streamsize max=std::numeric_limits< std::streamsize >::max()) |
| Get the size of a file by scanning it. More... | |
| void | ReleaseDirectoryLocks () |
| Release all directory locks. More... | |
| bool | TryCreateDirectories (const fs::path &p) |
| Ignores exceptions thrown by create_directories if the requested directory exists. More... | |
| fs::path | GetDefaultDataDir () |
| std::string | PermsToSymbolicString (fs::perms p) |
| Convert fs::perms to symbolic string of the form 'rwxrwxrwx'. More... | |
| std::optional< fs::perms > | InterpretPermString (const std::string &s) |
| Interpret a custom permissions level string as fs::perms. More... | |
| bool | IsDirWritable (const fs::path &dir_path) |
| Check if a directory is writable by creating a temporary file on it. More... | |
| void AllocateFileRange | ( | FILE * | file, |
| unsigned int | offset, | ||
| unsigned int | length | ||
| ) |
this function tries to make a particular range of a file allocated (corresponding to disk space) it is advisory, and the range specified in the arguments will never contain live data
Definition at line 200 of file fs_helpers.cpp.
| bool CheckDiskSpace | ( | const fs::path & | dir, |
| uint64_t | additional_bytes = 0 |
||
| ) |
| void DirectoryCommit | ( | const fs::path & | dirname | ) |
Sync directory contents.
This is required on some environments to ensure that newly created files are committed to disk.
Definition at line 139 of file fs_helpers.cpp.
| bool FileCommit | ( | FILE * | file | ) |
Ensure file contents are fully committed to disk, using a platform-specific feature analogous to fsync().
Definition at line 108 of file fs_helpers.cpp.
| fs::path GetDefaultDataDir | ( | ) |
| std::streampos GetFileSize | ( | const char * | path, |
| std::streamsize | max = std::numeric_limits< std::streamsize >::max() |
||
| ) |
Get the size of a file by scanning it.
| [in] | path | The file path |
| [in] | max | Stop seeking beyond this limit |
Definition at line 101 of file fs_helpers.cpp.
| std::optional< fs::perms > InterpretPermString | ( | const std::string & | s | ) |
Interpret a custom permissions level string as fs::perms.
| [in] | s | Permission level string |
Definition at line 310 of file fs_helpers.cpp.
| bool IsDirWritable | ( | const fs::path & | dir_path | ) |
Check if a directory is writable by creating a temporary file on it.
| [in] | dir_path | Path of the directory to test |
| std::runtime_error | if dir_path is not a directory. |
Definition at line 326 of file fs_helpers.cpp.
| std::string PermsToSymbolicString | ( | fs::perms | p | ) |
Convert fs::perms to symbolic string of the form 'rwxrwxrwx'.
| [in] | p | the perms to be converted |
Definition at line 287 of file fs_helpers.cpp.
| int RaiseFileDescriptorLimit | ( | int | min_fd | ) |
Try to raise the file descriptor limit to the requested number.
| [in] | min_fd | The requested minimum number of file descriptors. |
Definition at line 159 of file fs_helpers.cpp.
| void ReleaseDirectoryLocks | ( | ) |
Release all directory locks.
This is used for unit testing only, at runtime the global destructor will take care of the locks.
Definition at line 87 of file fs_helpers.cpp.
Rename src to dest.
Definition at line 262 of file fs_helpers.cpp.
| bool TruncateFile | ( | FILE * | file, |
| unsigned int | length | ||
| ) |
| bool TryCreateDirectories | ( | const fs::path & | p | ) |
Ignores exceptions thrown by create_directories if the requested directory exists.
Specifically handles case where path p exists, but it wasn't possible for the user to write to the parent directory.
Definition at line 274 of file fs_helpers.cpp.
Definition at line 81 of file fs_helpers.cpp.