vfs_mount 入口点

用途

安装虚拟文件系统。

语法

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

参数

描述
弗夫斯普 指向新创建的 弗夫斯 结构。
茨尔普 点至 克雷德 结构。 此结构包含文件系统可用来验证访问许可权的数据。

描述

逻辑文件系统将调用 vfs_mount 入口点以安装新的文件系统。 在分配并初始化 弗夫斯 结构后,将调用此入口点。 在将此结构传递到 vfs_mount 入口点之前, 逻辑文件系统:

  • 保证了 弗芒特安装 子例程的语法。
  • 将分配 弗夫斯 结构
  • : 将存根解析为虚拟节点 (v 节点)。 这就是 vfs_mntdover弗夫斯 结构中的 字段。
  • 对以下虚拟文件系统字段进行初始化:
    字段 描述
    vfs_flags 已根据安装类型进行初始化。 此字段采用以下值:
    VFS_MOUNTOK
    用户在存根的父目录中具有写许可权,并且该用户是存根的所有者。
    VFS_SUSER
    用户具有 root 用户权限。
    VFS_NOSUID
    不允许执行此安装中的 设置标识设置标识 程序。
    VFS_NODEV
    不允许打开此安装中的设备。
    vfs_type 在使用 安装 子例程时初始化为/(根) 文件系统类型。 如果使用了 弗芒特 子例程,那么 vfs_type 字段将设置为用户提供的 类型 参数。 逻辑文件系统将验证是否存在 类型 参数。
    vfs_ops 根据以下项进行初始化:vfs_type
    vfs_mntdover 标识引用存根路径自变量的 v-node。 此参数由 安装弗芒特 子例程提供。
    vfs_date 保存时间戳记。 时间戳记指定对虚拟文件系统进行初始化的时间。
    vfs_number 指示表示此虚拟文件系统的唯一编号序列。
    vfs_mdata 已使用用户提供的 弗芒特 结构进行初始化。 在 /usr/include/sys/vmount.h 文件中详细描述了虚拟文件系统数据。 此字段指示的所有参数都将复制到内核空间。

执行环境

vfs_mount 入口点只能从 流程环境 中调用。

返回值

描述
重大安全事件数量 指示成功。

/usr/include/sys/errno.h 文件返回非零返回值以指示失败。