pub(crate) mod overlayfs;
pub(crate) mod branchfs;
pub(crate) mod seccomp;
pub(crate) mod dispatch;
use crate::dry_run::Change;
use crate::error::BranchError;
use std::path::PathBuf;
pub(crate) struct ChildMountConfig {
pub mount_point: PathBuf,
pub upper: PathBuf,
pub work: PathBuf,
pub lowers: Vec<PathBuf>,
}
pub(crate) trait CowBranch: Send + Sync {
fn child_mount_config(&self) -> Option<ChildMountConfig> {
None
}
fn commit(&self) -> Result<(), BranchError>;
fn abort(&self) -> Result<(), BranchError>;
fn cleanup(&self) -> Result<(), BranchError>;
fn changes(&self) -> Result<Vec<Change>, BranchError>;
}