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

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

我正在编写一个 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);

本文来自网络,不代表青岛站长网立场。转载请注明出处: https://www.0532zz.com/html/zhonghe/fwq/linux/20201230/14237.html
上一篇
下一篇

作者: dawei

【声明】:青岛站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

为您推荐

返回顶部