分类: LINUX
2005-07-08 16:46:22
sys_open(const char __usr *filename,int flags int mode)分析
sys_open(const char __usr *filename,int flags, int mode)分析
输入: 文件名,标志,模式
输出:返回值为零
功能: 1.进入内核空间为文件名分配内存tmp = getname(filename);
2.获取描述符 fd = get_unused_fd();
3,打开文件,取得文件底层操作函数struct file *f = filp_open(tmp, flags, mode);
函数error = open_namei(filename, namei_flags, mode, &nd); 找到具体的文件入口点
struct file *dentry_open(nd.dentry, nd.mnt, flags); 挂载文件操作函数。
4,文件指针放入进程的文件描述符表。