vfsmount和dentry之间的关系
2013-03-30 23:26
274 查看
对于每一个 mount 的文件系统,都由一个 vfsmount 结构来表示。
对于每一个目录项,都用一个dentry来表示,例如对于/usr/local/lib : / usr local lib 表示4个目录项
两者关系以一个例子来说明:
例如我们要mount一个设备 /dev/sdb1 到 /home/my目录下,
我们假设 /home/my 就是当前进程的根文件系统中的目录(即 home 和 my 都没有mount任何文件系统),
命令行是: mount -t ext2 /dev/sdb1 /home/my
我们mount的时候,传入的参数有三个: 要mount的设备( /dev/sdb1 ) , 设备的文件系统 ( ext2 之类的), mount到什么目录 ( /home/my )
mount的过程就是把设备的文件系统加入到 vfs 框架中
1. 首先,要mount一个新的设备,需要创建一个新的 super block。 这通过要mount的文件系统的 file_system_type, 调用其 get_sb 方法来创建一个新的 super block。
2. 需要创建一个新的vfsmount ,对于任何一个 mount 的文件系统,都要有一个 vfsmount, 创建这个vfsmount, 并设置好vfsmount 中的各个成员
3. 将创建好的 vfsmount 加入到系统中。
对于新的vfsmount:
其mountpoint为目录 "my" 的dentry,
其mnt_root 是设备sdb1上的根目录的 dentry
其父 vfsmount 就是原文件系统中的那个 vfsmount
对于每一个目录项,都用一个dentry来表示,例如对于/usr/local/lib : / usr local lib 表示4个目录项
两者关系以一个例子来说明:
例如我们要mount一个设备 /dev/sdb1 到 /home/my目录下,
我们假设 /home/my 就是当前进程的根文件系统中的目录(即 home 和 my 都没有mount任何文件系统),
命令行是: mount -t ext2 /dev/sdb1 /home/my
我们mount的时候,传入的参数有三个: 要mount的设备( /dev/sdb1 ) , 设备的文件系统 ( ext2 之类的), mount到什么目录 ( /home/my )
mount的过程就是把设备的文件系统加入到 vfs 框架中
1. 首先,要mount一个新的设备,需要创建一个新的 super block。 这通过要mount的文件系统的 file_system_type, 调用其 get_sb 方法来创建一个新的 super block。
2. 需要创建一个新的vfsmount ,对于任何一个 mount 的文件系统,都要有一个 vfsmount, 创建这个vfsmount, 并设置好vfsmount 中的各个成员
3. 将创建好的 vfsmount 加入到系统中。
对于新的vfsmount:
其mountpoint为目录 "my" 的dentry,
其mnt_root 是设备sdb1上的根目录的 dentry
其父 vfsmount 就是原文件系统中的那个 vfsmount
相关文章推荐
- Linux2.4文件系统中vfsmount、安装点的dentry、设备的dentry之间的关系
- Linux2.4文件系统中vfsmount、安装点的dentry、设备的dentry之间的关系【转】
- vfsmount和dentry之间的关系以及vfsmount的理解
- vfs的superblock、inode、dentry、file之间的关系
- dentry与inode节点之间的关系
- apach mysql php 三者之间的关系?
- iOS之UI随笔-UIKit框架控件之间的继承关系
- 创建对象与括号之间的关系
- 类与类之间的关系 四种(转)
- 逻辑地址、线性地址、物理地址和虚拟地址之间的关系
- c语言中的字符数组和字符串之间的关系
- Android开发,dp、sp和px之间的关系
- 系统调用和C库之间是什么关系?
- n支队伍比赛,分别编号为0,1,2。。。。n-1,已知它们之间的实力对比关系, 存储在一个二维数组w[n][n]中,w[i][j] 的值代表编号为i,j 的队伍中更强的一支。
- 将文件之间的编译依赖关系降至最低
- UTF-8 GBK UTF8 GB2312 之间的区别和关系
- 单线程模型中 Message 、 Handler 、 MessageQueue 、 Looper 之间 的关系。
- spring framework体系结构及内部各模块jar之间的maven依赖关系
- 举例解读云计算三种服务模式SaaS、PaaS和IaaS及其之间关系
- UML图中类之间的关系:依赖,泛化,关联,聚合,组合,实现