OK6410A 开发板 (八) 108 linux-5.11 OK6410A ramfs 文件系统

fs/ramfs/inode.c
static struct file_system_type ramfs_fs_type = {
	.name       = "ramfs",
	.init_fs_context = ramfs_init_fs_context,
	.parameters = ramfs_fs_parameters,
	.kill_sb    = ramfs_kill_sb,
	.fs_flags   = FS_USERNS_MOUNT,



static struct file_system_type shmem_fs_type = {                                 
    .name       = "tmpfs",                                                       
    .init_fs_context = ramfs_init_fs_context,                                    
    .parameters = ramfs_fs_parameters,                                           
    .kill_sb    = kill_litter_super,                                             
    .fs_flags   = FS_USERNS_MOUNT,                                               
};
ramfs 和 CONFIG_SHMEM=n & CONFIG_TMPFS=n 配置下的 tmpfs 很像
// .name    不同
// .kill_sb 不同
// ramfs 类似 低配版的 tmpfs

"ramfs"  文件系统 被 注册了 ,但没有被挂载过
"ramfs" 文件系统中的函数 被 低配版的 tmpfs 使用了
所以 "ramfs" 不用被关注
“ramfs” 的 东西(ramfs_fs_type 的各个成员) 被什么用到了
成员角度
  • ramfs_init_fs_context
mnt_init
	shmem_init
		register_filesystem(&shmem_fs_type);
		kern_mount(&shmem_fs_type);
	init_rootfs
	init_mount_tree
		vfs_kern_mount(&rootfs_fs_type, 0, "rootfs", NULL);
	
	
struct file_system_type rootfs_fs_type = {
	.name       = "rootfs",
	.init_fs_context = rootfs_init_fs_context,
		ramfs_init_fs_context


static struct file_system_type shmem_fs_type = {
	.name       = "tmpfs",
	.init_fs_context = ramfs_init_fs_context,
  • ramfs_fs_parameters
ramfs_init_fs_context
	fc->ops = &ramfs_context_ops;
		//static const struct fs_context_operations ramfs_context_ops = {
			.parse_param    = ramfs_parse_param,
				fs_parse(fc, ramfs_fs_parameters, param, &result);

static struct file_system_type shmem_fs_type = {
	.name       = "tmpfs",
	.parameters = ramfs_fs_parameters,
文件系统角度
  • “tmpfs” 文件系统
mnt_init
	shmem_init
		register_filesystem(&shmem_fs_type);
		kern_mount(&shmem_fs_type);
	init_rootfs
	init_mount_tree
  • “rootfs” 文件系统

mnt_init
	shmem_init
	init_rootfs
	init_mount_tree
		vfs_kern_mount(&rootfs_fs_type, 0, "rootfs", NULL);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值