Linuxカーネルでのマッピング方法block_device
からdevice
struct?換言すれば、block_device
構造体があれば、対応することができますdevice
struct ...block_deviceとデバイス構造体のマッピング
2
A
答えて
0
私にとって最短の方法はbdev_map
ポインタを見つけ、kobj_lookup(bdev_map, inode->i_rdev, &dummy)
の操作を実行することです。これは、ブロックデバイス(i_rdev
)に対応するkobject
を返します。
0
最短方法はblock_device->bd_disk->driverfs_dev
のようです。
も可能はいbd_diskとメンバーbd_inode_backing_dev_info両方があなたがそれらをアセスしようと要求することによってではなく、既存の構造hierachyているが、あなたのkobj_lookupコールも、マッピングを提供し、そこから応じてnullにすることができblock_device->bd_inode_backing_dev_info->dev
です。
関連する問題
- 1. 構造体変数と構造体メンバ
- 2. JNA内の共用体内の構造体のマッピング
- 3. C構造体内の構造体内部の構造体
- 4. 匿名構造体、構造体との間の差{} {}と{}
- 5. C++の構造体内の構造体
- 6. 構造体内の構造体
- 7. 構造体の配列 - 構造体?
- 8. 構造体と共用体
- 9. Cの関数のtypedef構造体と構造体の相違
- 10. バイナリツリーと構造体
- 11. 構造体とポインタ
- 12. 構造体とchar **
- 13. 構造体への引数としての構造体
- 14. スキップ構造体フィールドの構造体を考えると
- 15. クライアント構造体と.hファイルの実装構造体
- 16. 派生構造体と親構造体へのC++キャスト
- 17. sizeof構造体内構造体
- 18. Fortranの構造体とポインタ
- 19. 構造体とポインタのコンセプト
- 20. Lispのメンバーと構造体
- 21. C++のenumと構造体
- 22. のemacs:クラスと構造体
- 23. ポインタ、構造体とのmalloc()
- 24. C++の構造体とtypdef
- 25. 構造体とのカプセル化
- 26. cのポインタと構造体?
- 27. 構造体とint64の値
- 28. Cの構造体とポインタ
- 29. JSONとGoの構造体
- 30. バイト配列のデータをC#の構造体にマッピングする
ありがとう、それは簡単な作業であるようです。次の問題は、 'bd_disk'がNULLであることです。私はブロックデバイスファイルの 'inode'を持っていて、' block_device'構造体へのポインタを得るためにbdgetを使います。ポインタは有効ですが、 'bd_disk'はそうではありません:( –
' block_device-> backing_dev_info-> device'このようなチェーンはありません –
フィールド名の代わりに間違って指定されたタイプの謝罪 – Appleman1234