Voltar à lista
Linux x86_64Sistema de arquivos#165

mount

Monta um sistema de arquivos em um ponto de montagem, ou reconfigura uma montagem existente.

Descrição

Interface clássica e multiuso: monta sistemas de arquivos de dispositivo (ext4, xfs, ...), sistemas de arquivos virtuais (proc, sysfs, tmpfs), bind mounts (remontar parte da árvore em outro lugar) e ajustes de flags (remount). A API moderna baseada em fsopen/fsconfig/fsmount (syscalls 430-433) oferece mais controle e melhores mensagens de erro para casos complexos.

Header: sys/mount.hman 2

Nota

Exige CAP_SYS_ADMIN no namespace de mount relevante (com exceções específicas para usuários não privilegiados em certos casos, como bind mounts dentro de um user namespace próprio).

Assinatura

int mount(
    const char * source,
    const char * target,
    const char * filesystemtype,
    unsigned long mountflags,
    const void * data
);

Parâmetros

ParâmetroTipoDescrição
sourceconst char *Dispositivo ou origem a montar (significado varia por tipo de sistema de arquivos).
targetconst char *Ponto de montagem (diretório existente).
filesystemtypeconst char *Tipo do sistema de arquivos, ex.: "ext4", "tmpfs", "proc".
mountflagsunsigned longMS_RDONLY, MS_BIND, MS_REMOUNT, MS_NOEXEC, entre muitas outras.
dataconst void *Opções específicas do sistema de arquivos, em formato dependente do tipo.

Registradores (x86_64)

RegistradorPapelArgumento
raxnúmero da syscall (chamada) / valor de retorno (após SYSCALL)
rdiargumento 1sourceconst char *
rsiargumento 2targetconst char *
rdxargumento 3filesystemtypeconst char *
r10argumento 4mountflagsunsigned long
r8argumento 5dataconst void *

Valor de retorno

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

Códigos de erro (errno)

EACCES(13)
Permissão negada.
EBUSY(16)
Dispositivo ou recurso ocupado.
EINVAL(22)
Argumento inválido.
ENODEV(19)
Dispositivo inexistente.
ENOTBLK(15)
Não é um dispositivo de blocos.
EPERM(1)
Operação não permitida (falta de privilégio).

Relacionadas