Linux内核API mnt_want_write

mnt_want_write()函数的功能是判断传入的参数vfsmount结构体是否可写。该函数工作在低等级的将要被写入数据的文件系统上,为其判断是否有可写权限。在写操作结束之后,必须得调用mnt_drop_write()函数,从而获得一个有效的引用计数。

mnt_want_write文件包含

#include <linux/mount.h>

mnt_want_write函数定义

在内核源码中的位置:linux-3.19.3/fs/namespace.c

函数定义格式:

int mnt_want_write(struct vfsmount *mnt)

mnt_want_write输入参数说明

  • mnt:要判断的是否有可写权限的vfsmount结构体变量,其定义及详细解释请参考极客笔记函数__mnt_is_readonly()的输入参数说明部分。

mnt_want_write返回参数说明

  • mnt_want_write()函数的返回值是整型变量,可能的取值是0或-EROFS,如果此结构体对应的挂载点是可写的,则返回0;否则,返回错误号-EROFS。其中宏EROFS定义在linux-3.19.3/include/uapi/asm-generic/errno-base.h中,值为30。

mnt_want_write实例解析

本函数实例解析参考极客笔记中的__mnt_is_readonly()函数中的实例解析。

赞(0)
未经允许不得转载:极客笔记 » Linux内核API mnt_want_write
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址