正在加载
请稍等

菜单

红楼飞雪 梦

15526773247

文章

Home android 嵌入式开发 具体文件系统举例
Home android 嵌入式开发 具体文件系统举例

具体文件系统举例

android 嵌入式开发, linux开发学习 by

如前所述,每种文件系统类型都有个file_system_type结构,而结构中的fs_flags则由各种标志位组成,这些标志位表明了具体文件系统类型的特性,也决定着这种文件系统的安装过程。以物理设备为基础的常规文件系统类型(如Ext2、Minix等),由用户进程通过系统调用mount()来安装,而有些没有物理设备对应的文件系统(如pipe、共享内存区等),由内核通过kern_mount()来安装。

内核代码中提供了两个用来建立file_system_type结构的宏,其定义在fs.h中:

#define DECLARE_FSTYPE(var,type,read,flags) \
 
struct file_system_type var = { \
name:
    type, \
read_super:
    read, \
fs_flags:
    flags, \
owner:
    THIS_MODULE, \
}
 
#define DECLARE_FSTYPE_DEV(var,type,read) \
DECLARE_FSTYPE(var,type,read,FS_REQUIRES_DEV)

 

一般常规的文件系统类型都通过DECLARE_FSTYPE_DEV建立其结构,因为它们的FS_REQUIRES_DEV标志位为1,而其他标志位为0。相比之下,特殊的、虚拟的文件系统类型大多直接通过DECLARE_FSTYPE建立其结构,因为它们的fs_flags是特殊的。

 

 

26 2015-11

 

我要 分享

 

 

本文 作者

 

相关 文章