vfs_vget Ponto de Entrada

Propósito

Converte um identificador de arquivo em um nó virtual (v-node).

Sintaxe

int vfs_vget ( vfsp,  vpp,  fidp,  crp)
struct vfs *vfsp;
struct vnode **vpp;
struct fileid *fidp;
struct ucred *crp;

Parâmetros

Item Descrição
vfsp Aponta para o sistema de arquivos virtual que é conter o v-nó. Qualquer nó devolvido v deve pertencer a este sistema de arquivos virtual.
vpp Aponta para o lugar para retornar o ponteiro de v-nó. Isto é configurado para apontar para o novo v-nó. Os campos neste v-nó devem ser configurados da seguinte forma:
v_vntype
O tipo de v-nó dependente de dados privados.
v_count
Conjunto para pelo menos 1 (um).
v_pdata
Se um novo arquivo, configure para os dados privados para este sistema de arquivos.
fidp Aponta para um identificador de arquivo. Este é um identificador de arquivo específico do sistema de arquivos que deve estar em conformidade com a estrutura fileid .
Nota: Se o parâmetro fidp for inválido, o parâmetro vpp deverá ser configurado como um valor nulo pelo ponto de entrada vfs_vget .
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_vget é chamado para converter um identificador de arquivo em um v-node. Este ponto de entrada usa informações nos parâmetros vfsp e fidp para criar um v-node ou anexar a um v-nó existente. Este v-nó representa, logicamente, o mesmo objeto do sistema de arquivos como o arquivo identificado pelo parâmetro fidp .

Se o v-node já existir, operação bem-sucedida deste ponto de entrada incrementa a contagem de uso de v-nó e retorna um ponteiro para o v-nó. Se o v-node não existir, o ponto de entrada vfs_vget cria-o usando o serviço kernel vn_get e retorna um ponteiro para o novo v-nó.

Ambiente de Execução

O ponto de entrada vfs_vget 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. Um valor típico inclui:

Item Descrição
EINVAL Indica que o sistema de arquivos virtual remoto especificado pelo parâmetro vfsp não suporta montagens encadeadas.