pub fn unplanned_container_mount_table(
launch_cwd: &Path,
) -> Result<UnplannedMountTable, Error>Expand description
The container mount table of a run whose guest runs in the calling
thread’s own mount namespace, in which Hermit installed no mount
(--no-namespace, or a library caller that built no container, on KVM),
and the raw identity order Detcore validates it against, both from one
read of the namespace’s rows. Shown are:
- the launch mounts: the mount holding
launch_cwd, the guest’s working directory at launch, and the mount holding the host’s/tmp, which the guest shares, with their ancestors (rules 1 and 3 ofContainerMountTable::select, as for Hermit’s installations), so thatdf .andfindmnt -T .from a checkout find their row; - the base mountpoints mounted here (rule 2).
Both are facts of the launch, fixed before the guest starts, as the base mountpoints are. No other host mount is shown; a file on one reports its nearest shown ancestor. A shown row’s parent is its nearest shown ancestor, as for every table.
launch_cwd may be relative (. for the inherited working directory):
it is resolved from the calling thread’s working directory as the guest’s
chdir will resolve it, without asking that directory for its name, so a
removed working directory does not stop a launch with an absolute
--workdir.