Skip to main content

place_alias

Function place_alias 

Source
fn place_alias(
    dir: &[u8],
    name: u8,
    room: usize,
    host: &[u8],
    form: Form,
    candidates: &[PathBuf],
) -> Result<Placed, i32>
Expand description

Places the alias name for host so that its path fits in room bytes, the tracee’s string and its NUL.

A symlink in the alias directory comes first: to the target itself, or to its parent with <name>/<basename> for a final component that must be reached without following it. When that does not fit, the final component is reached through a hard link to it, which is the same inode: as <name> in the alias directory when that is on the target’s mount, else as <name>/<name> through a staging directory on that mount.

§Arguments

  • dir - The alias directory.
  • name - The alias name held by the caller.
  • room - Bytes available in the tracee for the path and its NUL.
  • host - Host path the alias stands for.
  • form - Alias form.
  • candidates - Where a staging directory may be created, in order.

§Errors

ENAMETOOLONG when no placement fits, or the errno of creating the symlink.