06 ext2文件系统IO流程:创建目录mkdir

前一篇介绍了在目录下创建文件,我接下来们继续ext2主IO流程:创建目录。不论是创建文件还是创建目录,都是基于父目录,两者有很多相似之处,都要新建inode和目录项,然后建立inode与dentry的关系。但是创建目录操作,在写入目录项时,要多写两个目录项.(当前目录)和..(上层目录),详细流程如下:

  • 新建inode,并标记dirty,待内核同步
  • 设置操作表:i_op、i_fop、i_mapping->a_ops
  • 新建.和..两个目录项,inode指向新建的inode,并持久化
  • 在父目录的页缓存中,寻找一个空间,新建目录的目录项,inode指向新建的inode,并持久化(ext2_add_link)
  • 建立缓存dentry与inode关系
ext2创建目录
ext2创建目录
继续阅读“06 ext2文件系统IO流程:创建目录mkdir”