2012-02-13 2 views

答えて

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

です。

+0

ありがとう、それは簡単な作業であるようです。次の問題は、 'bd_disk'がNULLであることです。私はブロックデバイスファイルの 'inode'を持っていて、' block_device'構造体へのポインタを得るためにbdgetを使います。ポインタは有効ですが、 'bd_disk'はそうではありません:( –

+0

' block_device-> backing_dev_info-> device'このようなチェーンはありません –

+0

フィールド名の代わりに間違って指定されたタイプの謝罪 – Appleman1234