create
2016-12-09 09:54:01 0 举报
文件系统create函数
作者其他创作
大纲/内容
否
是
设置存取权限,修改关联文件数为1
调用bfree函数,将块号压入堆栈
i++;
dirid=-1?
return 0
查找文件是否已存在,将结果返回dirid
开始
回收内存节点
i=0;
printf\"存在同名目录\"
idi_size/BLOCKSIZ+j
access()==0?(判断用户是否有修改权限)
i++
调用iget()函数,为磁盘i节点分配对应的内存节点
i=0;j =( inode-di_size%512)?1:0
调用Open()函数,打开文件,返回文件指针
sys_ofile[i].f_count != 0 && sys_ofile[i].f_inode == inode?
调用namei()函数
(iNode-di_mode&DIFILE)=0?
sys_ofile[i].f_off = 0;
当前目录数加1,将刚分配的磁盘节点指给当前目录下的节点
调用iname函数为当前文件分配目录项
iSYSOPENFILE?
将内存节点值赋值给inode
调用ialloc()函数,分配磁盘i节点,返回指针给inode
结束
0 条评论
下一页