42namespace fs = std::filesystem;
70 fs::path m_path_dir_upper;
78 fs::path m_path_dir_lower;
81 Ciopfs(pid_t pid_to_die_for
82 , fs::path
const& path_dir_lower
83 , fs::path
const& path_dir_upper
84 , fs::path
const& path_file_log);
102 , fs::path
const& path_dir_lower
103 , fs::path
const& path_dir_upper
104 , fs::path
const& path_file_log
107 , m_path_dir_upper(path_dir_upper)
108 , m_path_dir_lower(path_dir_lower)
110 this->
mount().discard(
"E::Could not mount ciopfs filesystem from '{}' to '{}'", path_dir_lower, path_dir_upper);
135 auto path_file_ciopfs = Pop(
ns_env::search_path(
"ciopfs"),
"E::Could not find ciopfs in PATH");
138 .
with_args(m_path_dir_lower, m_path_dir_upper)
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.
Value< void > mount() override
Mounts the CIOPFS filesystem.
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.
Subprocess & with_die_on_pid(pid_t pid)
Configures the child process to die when the specified PID dies.
std::unique_ptr< Child > spawn()
Spawns (forks) the child process and begins execution.
Subprocess & with_stdio(Stream mode)
Sets the stdio redirection mode for the child process.
Subprocess & with_log_file(std::filesystem::path const &path)
Configures logging output for child process stdout/stderr.
Subprocess & with_args(Args &&... args)
Arguments forwarded as the process' arguments.
The base class for filesystems.
A library for manipulating environment variables.
Value< fs::path > search_path(std::string const &query)
Search the directories in the PATH variable for the given input file name.
Base filesystem interface and abstraction.
Case-insensitive filesystem implementation.
Value< fs::path > create_directories(fs::path const &p)
Creates directories recursively.
void wait_fuse(fs::path const &path_dir_filesystem)
Waits for the given directory to not be fuse.
Enhanced expected type with integrated logging capabilities.
A library to spawn sub-processes in linux.