2012-02-13 94 views

回答

0

看來,對我來說最短的路是找到bdev_map指針並執行kobj_lookup(bdev_map, inode->i_rdev, &dummy)操作。這返回一個kobject,它對應於塊設備(i_rdev)。

0

最短的方式似乎是block_device->bd_disk->driverfs_dev

也有可能是block_device->bd_inode_backing_dev_info->dev

是既bd_disk和bd_inode_backing_dev_info成員可以從那裏您嘗試訪問它們和您的通話kobj_lookup還提供了一個映射,這取決於爲null,雖然按要求,而不是通過現有的結構層次結構。

+0

謝謝,這似乎是一件容易的事。接下來的問題是'bd_disk'是NULL。我有一個塊設備文件的inode,並使用bdget來獲取指向'block_device'結構體的指針。指針是有效的,但'bd_disk'不是:( – 2012-02-14 06:53:10

+0

'block_device-> backing_dev_info-> device'沒有這樣的鏈路 – 2012-02-16 11:23:48

+0

道歉意外地指定了類型而不是字段名稱 – Appleman1234 2012-02-16 11:31:39