在linux内核中如何将block_device
映射到device
struct?换句话说,如果我们有block_device
结构,我们如何获得相应的device
结构?...
答案 0 :(得分:0)
最短的方式似乎是block_device->bd_disk->driverfs_dev
。
也可以是block_device->bd_inode_backing_dev_info->dev
是的,bd_disk和bd_inode_backing_dev_info成员都可以为null,具体取决于您尝试访问它们的位置,并且您的kobj_lookup调用也提供映射,但是通过请求而不是通过现有的结构层次结构。
答案 1 :(得分:0)
对我来说,最简单的方法是找到bdev_map
指针并执行kobj_lookup(bdev_map, inode->i_rdev, &dummy)
操作。这将返回kobject
与阻止设备(i_rdev
)的对应关系。