vfs_mkdir函数
时间: 2023-07-30 16:06:01 浏览: 350
vfs_mkdir函数是一个操作系统文件系统中的函数,它用于创建一个新的目录。
在Linux中,vfs_mkdir函数的定义如下:
```
int vfs_mkdir(const char *pathname, umode_t mode);
```
其中,pathname是要创建的目录的路径名,mode是该目录的访问权限。
当调用vfs_mkdir函数时,操作系统会在指定的路径下创建一个新的目录,并根据mode参数设置该目录的访问权限。如果成功创建了新的目录,则返回0;否则返回一个负数的错误代码,表示创建目录失败。
需要注意的是,该函数所在的头文件是<linux/fs.h>,因此在使用vfs_mkdir函数时需要包含该头文件。
相关问题
vfs_mkdir函数需要include什么
vfs_mkdir函数需要包含以下头文件:
```c
#include <linux/fs.h>
```
这个头文件中包含了Linux内核中文件系统相关的函数和结构体定义,其中就包含了vfs_mkdir函数的声明。因此,在使用vfs_mkdir函数时,需要先包含这个头文件。
Linux内核的init_mkdir函数
init_mkdir函数是Linux内核中的一个函数,用于初始化根目录的创建。该函数的定义如下:
```c
static int __init init_mkdir(void)
{
int error;
if (!root_inode)
return -EINVAL;
error = vfs_mkdir(root_inode, 0755);
if (error) {
printk(KERN_ERR "Failed to create root directory: %d\n", error);
return error;
}
return 0;
}
```
首先,该函数会检查是否已经有根目录的inode节点。如果没有,则返回EINVAL错误。
然后,该函数使用vfs_mkdir函数在根目录中创建一个名为“root”的目录,并给出0755权限。
最后,该函数会返回0,表示根目录初始化成功。
总之,init_mkdir函数是Linux内核中用于初始化根目录的函数。
阅读全文