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 2Nota
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âmetro | Tipo | Descrição |
|---|---|---|
| source | const char * | Dispositivo ou origem a montar (significado varia por tipo de sistema de arquivos). |
| target | const char * | Ponto de montagem (diretório existente). |
| filesystemtype | const char * | Tipo do sistema de arquivos, ex.: "ext4", "tmpfs", "proc". |
| mountflags | unsigned long | MS_RDONLY, MS_BIND, MS_REMOUNT, MS_NOEXEC, entre muitas outras. |
| data | const void * | Opções específicas do sistema de arquivos, em formato dependente do tipo. |
Registradores (x86_64)
| Registrador | Papel | Argumento |
|---|---|---|
| rax | número da syscall (chamada) / valor de retorno (após SYSCALL) | — |
| rdi | argumento 1 | sourceconst char * |
| rsi | argumento 2 | targetconst char * |
| rdx | argumento 3 | filesystemtypeconst char * |
| r10 | argumento 4 | mountflagsunsigned long |
| r8 | argumento 5 | dataconst 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).