Linux内核-文件系统-挂载流程分析

本文详细分析了Linux内核中挂载文件系统的流程,从根文件系统的挂载开始,包括创建设备节点、系统调用挂载、用户态挂载文件系统的入口,深入到具体的文件系统类型如ext2的挂载过程,涉及设备节点操作、路径查找、挂载点创建、super block填充等多个关键步骤。
摘要由CSDN通过智能技术生成

1.根文件系统的挂载

  • mount_root[init/do_mounts.c]
    • create_dev(“/dev/root”, ROOT_DEV) ==> how to do this
      • sys_unlink(“/dev/root”)
      • sys_mknod(“/dev/root”,…)
    • mount_block_root(“/dev/root”, flags)
      • get_fs_names -> copy root_fs_names
      • do_mount_root ==> 调用系统调用sys_mount,sys_chdir(“/root”),为当 前进程current->fs.pwd.dentry设置挂载返回的root dentry
        • sys_mount ==>进入系统调用

2.进入系统调用的挂载,也是用户态挂载文件系统的入口

  • sys_mount[fs/namespace.c]
    • copy_mount_string
    • copy_mount_options
    • do_mount
      • user_path(dirname, &path) -> path_lookupat ==> 获取挂载路径的struct path,查找路径是很复杂的过程:)
      • do_remount
      • do_loopback
      • do_change_type
      • do_move_mount
      • do_new_mount ==> 构建虚拟挂载点vsfmount,检查设置nam
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值