]> xenbits.xensource.com Git - libvirt.git/commitdiff
bhyve: add support for virtio block devices
authorRoman Bogorodskiy <bogorodskiy@gmail.com>
Sat, 15 Mar 2014 14:52:19 +0000 (18:52 +0400)
committerRoman Bogorodskiy <bogorodskiy@gmail.com>
Mon, 17 Mar 2014 17:01:10 +0000 (21:01 +0400)
src/bhyve/bhyve_command.c

index a19daac1fe67776f6cadcc0bed9b51a35106fd01..2cdfa6db8dedd29c72742286c801d7f19ea3fb46 100644 (file)
@@ -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;
 }