Point d'entrée vfs_mount

Objectif

Montage d'un système de fichiers virtuel.

Syntaxe

int vfs_mount ( vfsp)
struct vfs *vfsp;
struct ucred * crp;

Paramètre

Article Descriptif
Vfsp Pointe vers la structure Vfs nouvellement créée.
Crp Pointe vers la structure Cred . Cette structure contient des données que le système de fichiers peut utiliser pour valider les droits d'accès.

Descriptif

Le point d'entrée Mon_vfs_vf est appelé par le système de fichiers logique pour monter un nouveau système de fichiers. Ce point d'entrée est appelé une fois que la structure Vfs est allouée et initialisée. Avant que cette structure soit transmise au point d'entrée Mon_vfs_vf , Système de fichiers logiques:

  • garantit la syntaxe des sous-routines Vmount ou Montage .
  • Allocalise Structure Vfs.
  • Résoudre le raccord sur un noeud virtuel (V-noeud). Il s'agit de la vfs_mntdoverZone dans la structure Vfs .
  • Initialise les zones de système de fichiers virtuel suivantes:
    Zone Descriptif
    vfs_flags Initialisé en fonction du type de montage. Cette zone prend les valeurs suivantes:
    VFS_MOUNTOK
    L'utilisateur dispose des droits d'accès en écriture dans le répertoire parent du stub et est le propriétaire du stub.
    VFS_SUSER
    L'utilisateur dispose des droits utilisateur root.
    VFS_NOSUID
    L'exécution des programmes Setuid et Setgid à partir de ce montage n'est pas autorisée.
    VFS_NODEV
    L'ouverture d'unités à partir de ce montage n'est pas autorisée.
    vfs_type Initialisé avec le type de système de fichiers / (root) lorsque le sous-programme Montage est utilisé. Si la sous-routine Vmount est utilisée, la zone Type_vf est définie sur le paramètre Type fourni par l'utilisateur. Le système de fichiers logiques vérifie l'existence du paramètre Type .
    vfs_ops Initialisé en fonction devfs_type:NONE.
    vfs_mntdover Identifie le noeud v qui fait référence à l'argument de chemin de raccord. Cet argument est fourni par le sous-programme Montage ou Vmount .
    vfs_date Contient l'horodatage. L'horodatage indique l'heure d'initialisation du système de fichiers virtuel.
    vfs_number Indique la séquence de numéro unique représentant ce système de fichiers virtuel.
    vfs_mdata Initialisé avec la structure Vmount fournie par l'utilisateur. Les données du système de fichiers virtuel sont détaillées dans le fichier /usr/include/sys/vmount.h . Tous les arguments indiqués par cette zone sont copiés dans l'espace du noyau.

Environnement d'exécution

Le point d'entrée Mon_vfs_vf peut être appelé à partir de Environnement de processus uniquement.

Valeurs renvoyées

Article Descriptif
0 % Indique le succès.

Des valeurs de retour différentes de zéro sont renvoyées par le fichier /usr/include/sys/errno.h pour indiquer un échec.