如何在xen blktap中添加自定义虚拟磁盘接口

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时即可成功启动。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值