vfs_umount 入口点

用途

卸装一个虚拟文件系统。

语法

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

参数

描述
弗夫斯普 指向要卸载的 弗夫斯 结构。 此结构在 /usr/include/sys/vfs.h 文件中定义。
茨尔普 点至 克雷德 结构。 此结构包含文件系统可用来验证访问许可权的数据。

描述

将调用 vfs_umount 入口点以卸载虚拟文件系统。 逻辑文件系统执行的服务独立于启动卸装的虚拟文件系统。 逻辑文件系统服务:

  • 保证 乌夫芒特 子例程的语法。
  • 执行许可权检查:
    • 如果 弗夫斯普 参数指的是设备安装,那么用户必须具有 root 用户权限才能执行该操作。
    • 如果 弗夫斯普 参数未引用设备安装,那么用户必须在已安装的虚拟节点 (v-node) 的父目录中具有 root 用户权限或写许可权,以及对已安装的 v-node 所表示的文件的写许可权。
  • 请确保正在卸载的虚拟文件系统不包含其他虚拟文件系统的安装点。
  • 请确保除了安装之外,未使用根 V 节点。 根 v-node 也称为已安装的 v-node。
  • 清除v_mvfsp存根 v-node 中的字段。 这将阻止已在进行中的查找操作遍历即将卸载的安装点。

逻辑文件系统假定,必要时,成功的 vfs_umount 入口点调用将释放根 v 节点。 从 vfs_umount 入口点返回的错误将导致重新建立安装点。 从 vfs_umount 入口点返回的 0 (零) 指示该例程已成功,并且已释放 弗夫斯 结构。

执行环境

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

返回值

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

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