LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1429|回复: 2

如何在驱动中打开其他设备

[复制链接]
发表于 2011-8-25 17:50:49 | 显示全部楼层 |阅读模式
好吧,我认为这个标题很晦涩,可是我也没法表述的更清晰。
还是说说要实现的功能:

1. 实现一个驱动模块ctrlblock
2. 对于每个磁盘,该驱动注册一个块设备。注册的块设备和磁盘块设备不同
     2.1 如果磁盘设备名称为sda,则该驱动注册的名称为ctrlblock_sda
     2.2 对于sda, ctrlblock_sda对应sda的最后100MB空间
     2.3 需要考虑热插拔事件
     2.4 需要考虑分区情况

问题:
     假定sda对应的inode可以传递到ctrlblock驱动内部,如何在ctrlblock内部打开sda设备?

     或者简单点描述,在任何驱动内部,已知块设备inode时,如何打开块设备并设置偏移量?类似于用户空间的open和lseek操作。
发表于 2011-8-25 21:59:18 | 显示全部楼层
嗯,我什么都不知道,但是我隐隐觉得这得用到 udev 。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-8-29 18:45:02 | 显示全部楼层
用blkdev_get_by_dev就可以。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表