您的位置:首页 > 其它

如何在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时即可成功启动。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: