Voltar à lista
Linux x86_64Sistema de arquivos#429

move_mount

Move (ou anexa) uma árvore de montagem de um local para outro, usando descritores de arquivo em vez de caminhos ambíguos.

Descrição

Contraparte de anexação da nova API de montagem, usada para efetivamente colocar uma árvore obtida via `open_tree`/`fsmount` em seu destino final na hierarquia de sistemas de arquivos.

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

Assinatura

int move_mount(
    int from_dfd,
    const char * from_pathname,
    int to_dfd,
    const char * to_pathname,
    unsigned int flags
);

Parâmetros

ParâmetroTipoDescrição
from_dfdintDescritor de origem (obtido de open_tree ou fsmount).
from_pathnameconst char *Caminho relativo a `from_dfd`, tipicamente vazio.
to_dfdintDescritor do diretório de destino, ou AT_FDCWD.
to_pathnameconst char *Caminho de destino, relativo a `to_dfd`.
flagsunsigned intMOVE_MOUNT_F_EMPTY_PATH, MOVE_MOUNT_T_EMPTY_PATH.

Registradores (x86_64)

RegistradorPapelArgumento
raxnúmero da syscall (chamada) / valor de retorno (após SYSCALL)
rdiargumento 1from_dfdint
rsiargumento 2from_pathnameconst char *
rdxargumento 3to_dfdint
r10argumento 4to_pathnameconst char *
r8argumento 5flagsunsigned int

Valor de retorno

0 em sucesso; -1 em erro, com errno definido.

Códigos de erro (errno)

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

Relacionadas