[文件系统]文件系统学习笔记(十一)——mount系统调用(其它)
来源:互联网 发布:优酷会员如何解绑淘宝 编辑:程序博客网 时间:2024/06/07 19:54
1,mount example
2,mount_hashtable表,
主要是根据mountpoint的dentry和mountpoint所属vfsmount结构体共同计算hash值确定该mountpoint目录下挂载的文件系统的vfsmount结构
3,linux mount命令
mount命令详细解释
命令格式:
mount [-t vfstype] [-o options] device dir
1.-t vfstype 指定文件系统的类型,通常不必指定。mount 会自动选择正确的类型。常用类型有:
光盘或光盘镜像:iso9660
Mount Windows文件网络共享:smbfs
UNIX(LINUX) 文件网络共享:nfs
2.-o options 主要用来描述设备或档案的挂接方式。常用的参数有:
loop:用来把一个文件当成硬盘分区挂接上系统
ro:采用只读方式挂接设备
rw:采用读写方式挂接设备
3.device 要挂接(mount)的设备。
4.dir设备在系统上的挂接点(mount point)。
补充:
mount -a [-t type] [-O optlist] 将会挂载 /etc/fstab 中所有列出的所有设备(明确标记为"noauto"的除外),如果同时给出了 device(或 LABEL, UUID, PARTUUID, PARTLABEL) 和 dir,那么 mount 将不会读取 /etc/fstab 中的设置
通常只有root用户才可以挂载文件系统,但是如果在 fstab 中包含"user"选项,那么所有用户都可以挂载此文件系统。例如,如果在 fstab 中包含如下的行:
/dev/cdrom /cd iso9660 ro,user,noauto,unhide
使用了"user"选项的文件系统,只有挂载该文件系统的用户才可以卸载它,若想允许任何其他用户卸载,那么可以使用"users"代替"user"来实现。
init.rc里的mount命令会在alps/system/core/init/Builtins.c文件里的do_mount()函数里解析,以下截图中mode的含义是/mnt/obb/目录下的所有文件的初始权限是0755,0755是以八进制表示的,gid是设置左右文件所属的组。
4,unmount系统调用:
int umount(const char *target);
int umount2(const char *target, int flags);
flags主要有以下:
MNT_FORCE:即使挂载的文件系统处于busy状态,还是强制卸载,这样可能会引起数据丢失
MNT_DETACH:如果函数执行带有此参数,不会立即执行umount操作,而会等挂载点退出忙碌状态时才会去卸载它。不过此函数执行会阻止对该挂载点执行新的访问。之前就在访问此挂载点操作也不会强制其退出,而是会等待其自然退出。
MNT_EXPIRE:将挂载点设置为过时的,若要卸载的文件系统是根文件系统或者同时设置了MNT_FORCE或MNT_DETACH,则返回-EINVAL;
UMOUNT_NOFOLLOW:它指示如果目标是一个符号链接,则不解引用
5,linux中move mountpoint的作用
有些process 是有类似 "service" 的概念, 当它去咬住/storage/sdcard时, vold会去kill 该service, 但. 该service 有会被启动, 所以又会去咬住/storage/sdcard. 也因此, vold在umount sd时, 会先把mountpoint 移到staging. .这样, 即使该service又去咬/storage/sdcard, 也不会害sd umount fail
- [文件系统]文件系统学习笔记(十一)——mount系统调用(其它)
- [文件系统]文件系统学习笔记(五)---mount系统调用(1)
- [文件系统]文件系统学习笔记(八)---mount系统调用(代码相关)
- [文件系统]文件系统学习笔记(十一)——部分代码详解
- php学习笔记(十一)文件系统
- Bada学习-(十一)文件系统
- [文件系统]EXT文件系统学习笔记(一)——概念
- [文件系统]EXT文件系统学习笔记(二)——数据结构
- JDK6.0学习笔记(二十一)通用文件系统
- PHP学习笔记十一之文件系统(进阶篇)
- [文件系统]EXT文件系统学习笔记(三)——日志文件系统
- [文件系统]文件系统学习笔记(二)---task_struct
- [文件系统]文件系统学习笔记(九)---rootfs
- [文件系统]文件系统学习笔记(十)---杂项
- Linux系统编程学习笔记(3)-Linux文件系统与相关函数调用
- 系统编程概念(文件系统mount等函数的使用)
- Linux文件系统学习(四)之read open系统调用
- linux文件系统调用(1)---mount
- 博弈论, 取石子游戏1
- linux系统下如何解压RAR文件软件rarforlinux
- FIFO队列并发同步访问 C++ 实现 ~~~
- android中根据touch事件判断单击及双击
- 使用uploadPreview插件上传文件并且预览
- [文件系统]文件系统学习笔记(十一)——mount系统调用(其它)
- 黑马程序员_7k面试题学习笔记
- arm-linux的gdb移植
- Biorhythms(数论)
- zmq源码阅读——Msg.hpp & Msg.cpp 的 相关操作 (zmq中的消息)
- SVN操作
- android闪屏效果实现
- 【学习记录】面向对象的基本概念5
- CentOS6.4下Mysql数据库的安装与配置