如何在xen blktap中添加自定义虚拟磁盘接口
2010-05-07 09:16
274 查看
blktap目录中定义了一些用户层的虚拟磁盘访问接口,下面介绍如何添加自定义虚拟磁盘访问接口,基于xen4.0
1:首先在tapdisk.h中添加
extern struct tap_disk tapdisk_mydisk;
其中tapdisk_mydisk即为自己定义的虚拟磁盘名称。
2:同时在tapdisk.h中添加:
static disk_info_t mydisk_disk = {
DISK_TYPE_MYDISK ,
"mydisk disk (mydisk)",
"mydisk",
0,
0,
#ifdef TAPDISK
&tapdisk_mydisk,
#endif
};
3:在blktaplib.h中添加 DISK_TYPE_MYDISK的定义,如:#define DISK_TYPE_MYDISK 6
4:在tapdisk.h中将自定义的mydisk添加到dtypes中,注意其添加的位置应该与#define DISK_TYPE_MYDISK 6保持一致。
static disk_info_t *dtypes[] = {
&aio_disk,
&sync_disk,
&vmdk_disk,
&ram_disk,
&qcow_disk,
&qcow2_disk,
&mydisk_disk,
};
5:建立block-mydisk.c文件,定义struct tap_disk tapdisk_mydisk,添加相应的td_open,td_queue_read等函数
6:上述步骤完成后,此时在domu的配置文件中利用tap:mydisk:image来启动时,提示未知的磁盘类型mydisk
因没有在BlktapController.py中添加自定义的磁盘类型。
在blktap1_disk_types中添加mydisk,此时重新利用tap:mydisk:image来启动domu时即可成功启动。
1:首先在tapdisk.h中添加
extern struct tap_disk tapdisk_mydisk;
其中tapdisk_mydisk即为自己定义的虚拟磁盘名称。
2:同时在tapdisk.h中添加:
static disk_info_t mydisk_disk = {
DISK_TYPE_MYDISK ,
"mydisk disk (mydisk)",
"mydisk",
0,
0,
#ifdef TAPDISK
&tapdisk_mydisk,
#endif
};
3:在blktaplib.h中添加 DISK_TYPE_MYDISK的定义,如:#define DISK_TYPE_MYDISK 6
4:在tapdisk.h中将自定义的mydisk添加到dtypes中,注意其添加的位置应该与#define DISK_TYPE_MYDISK 6保持一致。
static disk_info_t *dtypes[] = {
&aio_disk,
&sync_disk,
&vmdk_disk,
&ram_disk,
&qcow_disk,
&qcow2_disk,
&mydisk_disk,
};
5:建立block-mydisk.c文件,定义struct tap_disk tapdisk_mydisk,添加相应的td_open,td_queue_read等函数
6:上述步骤完成后,此时在domu的配置文件中利用tap:mydisk:image来启动时,提示未知的磁盘类型mydisk
因没有在BlktapController.py中添加自定义的磁盘类型。
在blktap1_disk_types中添加mydisk,此时重新利用tap:mydisk:image来启动domu时即可成功启动。
相关文章推荐
- 如何给filter添加自定义接口 分类: DirectX 2014-10-24 08:59 499人阅读 评论(0) 收藏
- 如何给filter添加自定义接口及调用 分类: DirectX 2014-10-24 14:47 455人阅读 评论(0) 收藏
- 如何给filter添加自定义接口
- 如何给filter添加自定义接口及调用
- 如何给filter添加自定义接口
- 如何给filter添加自定义接口及调用
- 如何给filter添加自定义接口
- 如何给filter添加自定义接口及调用
- 如何在MyEclipse中添加 用户自定义类库 以及将自定义的类库加入工程的加载目录
- 如何:向 Outlook 添加自定义菜单和菜单项
- VS如何添加自定义宏
- mui如何添加自定义icon图标
- 如何在VS中自动添加自定义版权信息
- Win7如何自定义鼠标右键菜单 添加新建PowerPoint文档
- XCode: 如何添加自定义代码片段
- 倍福TwinCAT(贝福Beckhoff)常见问题(FAQ)-如何添加自定义Task,如何让程序的一部分拥有不同的执行周期
- iOS 自定义UITableViewCell上添加UIButton按钮如何确定点击了哪一行,代码块实现
- 如何在WordPress中添加一个自定义的新页面
- Win7如何自定义鼠标右键菜单 添加新建EXCEL文档
- 如何实现设置页面顶部添加导航栏,以及自定义风格