美文网首页
34 | 块设备(上)

34 | 块设备(上)

作者: AndyWei123 | 来源:发表于2020-05-11 00:33 被阅读0次
image.png
  • 所有的块设备都在 bdev_map 中的维护,它是一个devt和gendisk的映射关系

gendisk: gen 的意思是 general 通用的意思,也就是说,所有的块设备,不仅仅是硬盘 disk,都会用一个 gendisk 来表示

  • 所有的block_device 表示的设备都在bdev的文件系统中维护着inode节点

bdev 伪文件系统
block_device 结构如下

struct block_device {
dev_t      bd_dev;  /* not a kdev_t - it's a search key */
int      bd_openers;
struct super_block *  bd_super;
......
struct block_device *  bd_contains;
unsigned    bd_block_size;
struct hd_struct *  bd_part;
unsigned    bd_part_count;
int      bd_invalidated;
struct gendisk *  bd_disk;
struct request_queue *  bd_queue;
struct backing_dev_info *bd_bdi;
struct list_head  bd_list;
......
} ; 

gendisk 指向该块设备的gendisk ,他们是一对多的关系,比如开一个硬盘被分成两个分区,那么block_device 会有三个,一个总的两个分的,request_queue 处理请求的队列,hd_struct 指各个分区,db_contains 指向总的块的block_device


image.png
  • mknod 创建出来的块设备文件在 devtemfs 文件系统里面,特殊 inode 里面有块设备号;
  • mount 一个块设备上的文件系统,调用这个文件系统的 mount 接口;
  • 通过按照 /dev/xxx 在文件系统 devtmpfs 文件系统上搜索到特殊 inode,得到块设备号;
  • 根据特殊 inode 里面的 dev_t 在 bdev 文件系统里面找到 inode;
  • 根据 bdev 文件系统上的 inode 找到对应的 block_device,根据 dev_t 在 map 中找到 gendisk,将两者关联起来;
  • 找到 block_device 后打开设备,调用和 block_device 关联的 gendisk 里面的 block_device_operations 打开设备;
  • 创建被 mount 的文件系统的 super_block。

相关文章

  • 34 | 块设备(上)

    image.png 所有的块设备都在 bdev_map 中的维护,它是一个devt和gendisk的映射关系 ge...

  • umount异步机制是个什么鬼

    场景介绍 远程map一个块设备到机器上,并将这个设备挂在到某个挂载点,作为runc的rootfs使用 块设备上的文...

  • CPU 与外设通信

    2018.04.17 IO 设备分为块设备、字符设备。 块设备:U 盘、硬盘、CD。数据存储在固定大小的块中,有地...

  • day15 块设备驱动程序

    块设备在linux中的分类 块设备通俗点就是可以随机寻址的设备,内存,软盘,硬盘这些都是块设备。linux给外设分...

  • 字符设备和块设备

    字符设备 提供连续的数据流,是一个线性设备,应用程序可以顺序读取,通常不支持随机存取。相反,此类设备支持按字节/字...

  • 关于viewport

    概念: 移动设备上的viewport就是设备的屏幕上能用来显示我们的网页的那一块区域 物理像素(physical ...

  • ceph学习(七) rbd 使用

    1. 创建块设备映像 创建块设备映射之前需要创建对应的存储池 2. 调整块设备映像大小 3. 删除块设备映像 4....

  • Ceph块存储介绍

    (转自一只小江) 一、 前置知识 块设备: 块设备将信息存储在固定大小的块中,每个块都能进行编址。块设备的基本特征...

  • Linux磁盘和分区管理

    一、设备 在Linux中,一切皆“文件”。 设备分为:块设备(b):block,块文件存储,例如磁盘;字符设备(c...

  • OSS-08-输入输出管理

    1、设备分类: 1、存储设备:块设备,是存储信息的设备,如:磁盘、磁鼓。(以块为单位传输信息) 2、输入输出设备:...

网友评论

      本文标题:34 | 块设备(上)

      本文链接:https://www.haomeiwen.com/subject/axbenhtx.html