Skip to main content

unplanned_container_mount_table

Function unplanned_container_mount_table 

Source
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 of ContainerMountTable::select, as for Hermit’s installations), so that df . and findmnt -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.