加入收藏 | 设为首页 | 会员中心 | 我要投稿 阜阳站长网 (https://www.0558zz.com/)- 科技、建站、内容创作、云计算、网络安全!
当前位置: 首页 > 综合聚焦 > Linux > 正文

linux-device-driver – add_disk()在insmod上挂起

发布时间:2020-12-30 21:45:34 所属栏目:Linux 来源:互联网
导读:我正在编写一个 Linux块设备驱动程序,我有很多初始化工作.但是,当我最终调用add_disk()时,模块在insmod期间挂起. 有问题的片段在这里: set_capacity(gendisk, dev-nsectors);add_disk(gendisk);//this line is never reached 这似乎是在添加磁盘之前使用set_

我正在编写一个 Linux块设备驱动程序,我有很多初始化工作.但是,当我最终调用add_disk()时,模块在insmod期间挂起.

有问题的片段在这里:

set_capacity(gendisk,dev->nsectors);
add_disk(gendisk);

//this line is never reached

解决方法

这似乎是在添加磁盘之前使用set_capacity()设置容量引起的.根据 this mailing list,应该在gendisk-> capacity = 0的gendisk上调用add_disk,否则它会在check_partition()中挂起.

以下似乎有效:

set_capacity(gendisk,0)
add_disk(gendisk);
set_capacity(gendisk,dev->nsectors);

(编辑:阜阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读