Voltar à lista
Linux x86_64Sistema de arquivos#428

open_tree

Abre uma referência (descritor de arquivo) para uma árvore de montagem existente, sem necessariamente montá-la em outro lugar ainda.

Descrição

Parte da nova API de montagem baseada em descritores de arquivo (junto com fsopen/fsconfig/fsmount/move_mount), que substitui gradualmente `mount`/`umount2` para casos de uso complexos, com melhor tratamento de erro e suporte nativo a montagens não privilegiadas em user namespaces.

Header: linux/mount.hman 2Desde o kernel 5.2

Assinatura

int open_tree(int dirfd, const char * pathname, unsigned int flags);

Parâmetros

ParâmetroTipoDescrição
dirfdintDescritor do diretório base, ou AT_FDCWD.
pathnameconst char *Caminho da árvore de montagem a referenciar.
flagsunsigned intOPEN_TREE_CLONE, OPEN_TREE_CLOEXEC, AT_RECURSIVE.

Registradores (x86_64)

RegistradorPapelArgumento
raxnúmero da syscall (chamada) / valor de retorno (após SYSCALL)
rdiargumento 1dirfdint
rsiargumento 2pathnameconst char *
rdxargumento 3flagsunsigned int

Valor de retorno

Um descritor de arquivo referenciando a árvore de montagem em sucesso; -1 em erro, com errno definido.

Códigos de erro (errno)

EINVAL(22)
Argumento inválido.
ENOENT(2)
Arquivo ou diretório inexistente.
EPERM(1)
Operação não permitida (falta de privilégio).

Relacionadas