pub struct View {
pub fs: Fs,
pub kernel_release: Option<Vec<u8>>,
pub hostname: Option<Vec<u8>>,
pub fake_root: bool,
cleanup_dirs: Vec<Vec<u8>>,
placeholders: Mutex<Vec<Placeholder>>,
}Expand description
One guest: a filesystem view and the launch options that go with it.
The first tracee gets the view the command line describes. A tracee
that execs proot or bwrap gets a view of its own, composed through the
one it asked from, which its descendants inherit (see exec::nested).
Fields§
§fs: FsRoot and bindings, in host terms.
kernel_release: Option<Vec<u8>>Value reported by uname(2) in the release field, if faked.
hostname: Option<Vec<u8>>Value reported by uname(2) in the nodename field, if faked.
fake_root: boolPretend to be root (-0).
cleanup_dirs: Vec<Vec<u8>>Directories removed once the last process of the view is gone (a nested bwrap’s materialized root).
placeholders: Mutex<Vec<Placeholder>>Mount points created for the bindings, removed with the view.
Implementations§
Source§impl View
impl View
Sourcepub fn new(
config: &Config,
procs: Arc<ProcTable>,
cache: Arc<DirCache>,
cleanup: bool,
) -> View
pub fn new( config: &Config, procs: Arc<ProcTable>, cache: Arc<DirCache>, cleanup: bool, ) -> View
Builds a view from a configuration whose paths are host paths, and
creates the mount points its bindings are missing (see glue).
§Arguments
config- Root, bindings and flags.procs- Process table shared with the supervisor.cache- Directory cache shared with the supervisor’s other views.cleanup- Removeconfig.cleanup_dirswhen the view is dropped.
Sourcepub fn remove_placeholders(&self)
pub fn remove_placeholders(&self)
Removes the mount points created for this view’s bindings.
Called when the guest is done; later calls do nothing.