From: Roman Bogorodskiy Date: Sat, 15 Mar 2014 14:52:19 +0000 (+0400) Subject: bhyve: add support for virtio block devices X-Git-Tag: v1.2.3-rc1~194 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7fcb6d058a54fa9d2dea41ee5b3ed454b32afaf3;p=thirdparty%2Flibvirt.git bhyve: add support for virtio block devices --- diff --git a/src/bhyve/bhyve_command.c b/src/bhyve/bhyve_command.c index a19daac1fe..2cdfa6db8d 100644 --- a/src/bhyve/bhyve_command.c +++ b/src/bhyve/bhyve_command.c @@ -184,6 +184,7 @@ static int bhyveBuildDiskArgStr(const virDomainDef *def, virCommandPtr cmd) { virDomainDiskDefPtr disk; + const char *bus_type; if (def->ndisks != 1) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", @@ -193,7 +194,14 @@ bhyveBuildDiskArgStr(const virDomainDef *def, virCommandPtr cmd) disk = def->disks[0]; - if (disk->bus != VIR_DOMAIN_DISK_BUS_SATA) { + switch (disk->bus) { + case VIR_DOMAIN_DISK_BUS_SATA: + bus_type = "ahci-hd"; + break; + case VIR_DOMAIN_DISK_BUS_VIRTIO: + bus_type = "virtio-blk"; + break; + default: virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("unsupported disk bus type")); return -1; @@ -212,7 +220,7 @@ bhyveBuildDiskArgStr(const virDomainDef *def, virCommandPtr cmd) } virCommandAddArg(cmd, "-s"); - virCommandAddArgFormat(cmd, "2:0,ahci-hd,%s", disk->src); + virCommandAddArgFormat(cmd, "2:0,%s,%s", bus_type, disk->src); return 0; }