免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2039 | 回复: 2
打印 上一主题 下一主题

关于在块设备驱动中读写文件的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-01-17 15:44 |只看该作者 |倒序浏览
我现在有一个普通的文件需要解析 这个文件是一个硬盘镜像文件,其实是虚拟机生成的vmdk文件。
现在需要写一个驱动来解析它,我现在的想法是在块设备驱动中能够读取这个文件,把文件里面存储的
硬盘信息读出来,反馈给linux的文件系统,然后能在用户态
mount。
但是我不知道如何在块设备驱动的request函数里面从这个文件里面读数据。lld3里面说request函数是
在原子上下文中的,而如果我要在request函数里面读的话,使用file->f_op->read肯定会休眠,所以
我在驱动里面开了一个内核线程来读取文件,但是内核线程和request函数的请求如何同步呢?
不知道我的思路对不,在实验的过程中老宕机,现在没有头绪了,希望大虾给指点下。

论坛徽章:
0
2 [报告]
发表于 2010-01-18 10:10 |只看该作者
这个挺有意思的。
lz可以看看qemu的实现,看看对你有没有帮助。

论坛徽章:
0
3 [报告]
发表于 2010-01-18 11:04 |只看该作者

回复 #2 emmoblin 的帖子

我看多qemu的vmdk2raw.c文件 它只是个应用程序 把vmdk里面的硬盘信息读出来 写到一个设备里面去。我现在遇到的问题 是  我怎么在驱动的request函数里面把vmdk文件的内容读出来 也就是得到f_op->read读出的内容 我不知如何做
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP