Voltar à lista
Linux x86_64Sistema de arquivos#442

mount_setattr

Altera atributos de uma árvore de montagem (opcionalmente de forma recursiva), usando um descritor obtido via open_tree.

Descrição

Permite ajustar flags como MOUNT_ATTR_RDONLY ou MOUNT_ATTR_NOEXEC em toda uma subárvore de montagens de uma vez, algo que a API `mount`/remount tradicional não fazia atomicamente.

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

Assinatura

int mount_setattr(
    int dirfd,
    const char * pathname,
    unsigned int flags,
    struct mount_attr * uattr,
    size_t usize
);

Parâmetros

ParâmetroTipoDescrição
dirfdintDescritor do diretório base, ou AT_FDCWD.
pathnameconst char *Caminho da árvore de montagem.
flagsunsigned intAT_EMPTY_PATH, AT_RECURSIVE, AT_SYMLINK_NOFOLLOW, AT_NO_AUTOMOUNT.
uattrstruct mount_attr *Novos atributos e máscara indicando quais alterar.
usizesize_tTamanho de `uattr`, para extensibilidade futura.

Registradores (x86_64)

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

Valor de retorno

0 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