|
FlatImage
A configurable Linux containerization system
|
FUSE-based case-insensitive filesystem wrapper. More...
#include <ciopfs.hpp>
Public Member Functions | |
| Ciopfs (pid_t pid_to_die_for, fs::path const &path_dir_lower, fs::path const &path_dir_upper, fs::path const &path_file_log) | |
| Constructs and mounts a CIOPFS filesystem. | |
| Value< void > | mount () override |
| Mounts the CIOPFS filesystem. | |
Public Member Functions inherited from ns_filesystem::Filesystem | |
| virtual | ~Filesystem () |
| Destroy the Filesystem:: Filesystem object, it un-mounts the filesystem and sends a termination signal. | |
| Filesystem (Filesystem &&)=default | |
| Filesystem (Filesystem const &)=delete | |
| Filesystem & | operator= (Filesystem &&)=default |
| Filesystem & | operator= (Filesystem const &)=delete |
Additional Inherited Members | |
Protected Member Functions inherited from ns_filesystem::Filesystem | |
| Filesystem (pid_t pid_to_die_for, std::filesystem::path const &path_dir_mount, std::filesystem::path const &path_file_log) | |
| Construct a new Filesystem object. | |
Protected Attributes inherited from ns_filesystem::Filesystem | |
| pid_t | m_pid_to_die_for |
| std::filesystem::path | m_path_dir_mount |
| std::filesystem::path | m_path_file_log |
| std::unique_ptr< ns_subprocess::Child > | m_child |
FUSE-based case-insensitive filesystem wrapper.
The Ciopfs class provides a managed interface to the CIOPFS filesystem. It handles the lifecycle of the CIOPFS process, including mounting, monitoring, and cleanup.
The filesystem creates a case-insensitive view of a source directory, allowing files to be accessed regardless of case. For example, "File.txt", "file.txt", and "FILE.TXT" would all refer to the same file.
Definition at line 61 of file ciopfs.hpp.
|
inline |
Constructs and mounts a CIOPFS filesystem.
Creates a new CIOPFS instance and immediately attempts to mount it. The constructor will log an error if mounting fails but will not throw.
| pid_to_die_for | Process ID that this filesystem should monitor. When this process dies, the filesystem will unmount. |
| path_dir_lower | Source directory containing the actual files (case-sensitive) |
| path_dir_upper | Mount point where files will be accessible (case-insensitive) |
Definition at line 101 of file ciopfs.hpp.
|
inlineoverridevirtual |
Mounts the CIOPFS filesystem.
Performs the following steps:
The spawned CIOPFS process will automatically terminate when the process specified by m_pid_to_die_for exits.
Implements ns_filesystem::Filesystem.
Definition at line 129 of file ciopfs.hpp.