Linux2.4文件系统的卸载
来源:互联网 发布:java不区分大小写比较 编辑:程序博客网 时间:2024/06/16 22:33
0.sys_umount() -----> 文件系统卸载的系统调用
(1)根据设备名搜索设备的安装点
不管给的是安装点的路径名还是设备文件的路径名,都会搜过以下结果:
nd.dentry指向设备文件根目录的dentry
nd.mnt指向设备安装到的安装的vfsmount
(2)释放目录项
这里只是减少引用计数,移到unused队列,不一定真的释放
(3)卸载do_umount():见1
1.do_umount() ----->卸载 文件系统
(1)把vfsmount从设备的超级块sb->s_mounts队列中移动
vfsmount与设备的超级块的关系见前一篇博客《Linux2.4文件系统中vfsmount、安装点的dentry、设备的dentry之间的关系》
(2)若该设备安装了多次,则只需要拆除该设备多次安装的一次,不需要将设备拆下:remove_vfsmnt()见2
(3)若该设备只安装了一次,则见3
2.remove_vfsmount() -----> 拆除该设备多次安装的一次
(1)从各种队列中移除,
见前一篇博客《Linux2.4文件系统中vfsmount、安装点的dentry、设备的dentry之间的关系》
(2)递减各种引用计数
(3)释放vfsmount
3.卸载设备
(1)把unused队列中的dentry结构都释放
(2)设备超级块的同步
为了提高效率,块设备的输入/输出一般都是有缓冲的,无论是对超级块的改变还是对某个索引节点的改变,或者对某个数据块的改变,都只是对它们在内存中映像的改变,而不一定马上写回到设备上。
(3)i节点的同步
(4)数据块的同步
- Linux2.4文件系统的卸载
- Linux2.4安装一个文件系统
- Linux2.4文件系统中vfsmount、安装点的dentry、设备的dentry之间的关系
- 最详尽的ARM+LINUX移植攻略 linux2.6.30.4内核+yaffs2文件系统+uboot 2009.08
- Linux2.6--虚拟文件系统
- Linux2.6--虚拟文件系统
- linux2.6设备文件系统
- linux2.6内核中如何添加新的文件系统
- 最新内核(linux2.6.32)+文件系统(nfs)的编译
- WinCE 文件系统分区的卸载 加载
- Linux文件系统的挂载和卸载
- linux2.6.36文件系统分析---sys_mount()
- Linux2.6虚拟文件系统VFS
- linux2.4
- linux2.4
- 用busybox创建基于Linux2.6.24内核的nfs根文件系统
- Linux2.6.39在S3C2440上的移植(二)添加yaffs2文件系统
- 用busybox创建基于Linux2.6.24内核的nfs根文件系统
- Java 导出word文件
- C++中map的用法
- 企业计划是否能够做的更有意义?
- linux 安装 boost_1_39_0.tar.bz2
- iOS开发心得一则
- Linux2.4文件系统的卸载
- HBITMAP转储JPG文件,源码示例
- jqgrid的常用方法
- SSH+Git Server on Windows - 在Windows下搭建Git服务器
- Android的Task和Activity相关
- 你需要知道的五条面试技巧
- 告别“浮云” 享用云计算服务优势
- 公共云计算在国内市场前景更加广阔
- Web Service 监控磁盘文件