vfs_umount Entrada Point

Propósito

Desmonta um sistema de arquivos virtual.

Sintaxe

int vfs_umount ( vfsp,  crp)
struct vfs *vfsp;
struct ucred *crp;

Parâmetros

Item Descrição
vfsp Aponta para a estrutura vfs sendo desmontada. Esta estrutura é definida no arquivo /usr/include/sys/vfs.h .
crp Aponta para a estrutura credo . Esta estrutura contém dados que o sistema de arquivos pode usar para validar permissão de acesso.

Descrição

O ponto de entrada vfs_umount é chamado para desmontar um sistema de arquivos virtual. O sistema de arquivos lógico executa serviços independentes do sistema de arquivos virtuais que iniciam a desmontagem. Os serviços do sistema de arquivos lógico:

  • Garanta a sintaxe da subroutine uvmount .
  • Executar verificações de permissão:
    • Se o parâmetro vfsp refere-se a uma montagem do dispositivo, então o usuário deve ter autoridade de usuário root para realizar a operação.
    • Se o parâmetro vfsp não se referir a uma montagem do dispositivo, então o usuário deverá possuir autoridade de usuário root ou permissão de gravação no diretório pai do nó virtual montado (v-node), bem como permissão de gravação para o arquivo representado pelo nódulo montado em v.
  • Certificar-se de que o sistema de arquivos virtual que está sendo desmontado não contém pontos de montagem para outros sistemas de arquivos virtuais.
  • Certifica-se de que o root v-node não está em uso, exceto a montagem. O root v-node também é referido como o v-nó montado.
  • Limpar ov_mvfspcampo no stub v-nó. Isso evita que as operações de consulta já em andamento sejam atravessando o ponto de montagem não montado em solo.

O sistema de arquivos lógico assume que, se necessário, o ponto de entrada de vfs_umount bem-sucedido chama livre o root v-node. Um retorno de erro do ponto de entrada vfs_umount faz com que o ponto de montagem seja restabeltado. Um 0 (zero) retornado do ponto de entrada vfs_umount indica que a rotina foi bem-sucedida e que a estrutura vfs foi liberada.

Ambiente de Execução

O ponto de entrada vfs_umount pode ser chamado somente a partir do ambiente do processo.

Valores De Retorno

Item Descrição
0 Indica sucesso.

Os valores de retorno não zero são retornados do arquivo /usr/include/sys/errno.h para indicar falha.