Voltar à lista
Linux x86_64Sistema de arquivos#467

open_tree_attr

Combina open_tree e mount_setattr em uma única chamada: abre uma árvore de montagem já aplicando atributos.

Descrição

Adição recente que evita a janela entre abrir uma árvore de montagem e configurar seus atributos, fechando uma pequena lacuna de atomicidade da API introduzida por open_tree/mount_setattr.

man 2Desde o kernel 6.15

Assinatura

int open_tree_attr(
    int dfd,
    const char * path,
    unsigned int flags,
    struct mount_attr * uattr,
    size_t usize
);

Parâmetros

ParâmetroTipoDescrição
dfdintDescritor do diretório base, ou AT_FDCWD.
pathconst char *Caminho da árvore de montagem.
flagsunsigned intFlags de open_tree combinadas com AT_RECURSIVE, etc.
uattrstruct mount_attr *Atributos a aplicar imediatamente à árvore aberta.
usizesize_tTamanho de `uattr`.

Registradores (x86_64)

RegistradorPapelArgumento
raxnúmero da syscall (chamada) / valor de retorno (após SYSCALL)
rdiargumento 1dfdint
rsiargumento 2pathconst char *
rdxargumento 3flagsunsigned int
r10argumento 4uattrstruct mount_attr *
r8argumento 5usizesize_t

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