Ind*_*oad 6 insmod linux-device-driver
我正在编写一个Linux块设备驱动程序,我有很多初始化工作.但是,当我最终打电话时add_disk(),模块会挂起insmod.
有问题的片段在这里:
set_capacity(gendisk, dev->nsectors);
add_disk(gendisk);
//this line is never reached
Run Code Online (Sandbox Code Playgroud)
这似乎是由添加磁盘set_capacity() 之前设置容量引起的.根据这个邮件列表,add_disk应该在gendisk上调用gendisk->capacity = 0,否则它会挂起check_partition().
以下似乎有效:
set_capacity(gendisk, 0)
add_disk(gendisk);
set_capacity(gendisk, dev->nsectors);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1086 次 |
| 最近记录: |