I added support for AHCI controller to libvirt a while back, but neglected virtinst and virt-manager. I'm only vaguely familiar with these codebases, so quite possible I've missed something. Thanks for review and comment, Jim
>From 2280332b418ce3553b934e8c8d0f8523457d0a93 Mon Sep 17 00:00:00 2001 From: Jim Fehlig <jfehlig@xxxxxxxx> Date: Thu, 1 Dec 2011 16:29:16 -0700 Subject: [PATCH] Add virtinst support for AHCI controller Support for AHCI controller was added to upstream libvirt with commit c1bc3d89. This patch adds AHCI support to virtinst. --- man/en/virt-install.1 | 6 +++--- man/en/virt-install.pod.in | 6 +++--- virtinst/VirtualDisk.py | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/man/en/virt-install.1 b/man/en/virt-install.1 index 31c9c10..fc41b99 100644 --- a/man/en/virt-install.1 +++ b/man/en/virt-install.1 @@ -532,9 +532,9 @@ Disk device type. Value can be 'cdrom', 'disk', or 'floppy'. Default is cdrom is used as the install media. .IP "\fBbus\fR" 4 .IX Item "bus" -Disk bus type. Value can be 'ide', 'scsi', 'usb', 'virtio' or 'xen'. The -default is hypervisor dependent since not all hypervisors support all bus -types. +Disk bus type. Value can be 'ide', 'sata', 'scsi', 'usb', 'virtio' or 'xen'. +The default is hypervisor dependent since not all hypervisors support all +bus types. .IP "\fBperms\fR" 4 .IX Item "perms" Disk permissions. Value can be 'rw' (Read/Write), 'ro' (Readonly), diff --git a/man/en/virt-install.pod.in b/man/en/virt-install.pod.in index 4351c11..5c09443 100644 --- a/man/en/virt-install.pod.in +++ b/man/en/virt-install.pod.in @@ -420,9 +420,9 @@ cdrom is used as the install media. =item B<bus> -Disk bus type. Value can be 'ide', 'scsi', 'usb', 'virtio' or 'xen'. The -default is hypervisor dependent since not all hypervisors support all bus -types. +Disk bus type. Value can be 'ide', 'sata', 'scsi', 'usb', 'virtio' or 'xen'. +The default is hypervisor dependent since not all hypervisors support all +bus types. =item B<perms> diff --git a/virtinst/VirtualDisk.py b/virtinst/VirtualDisk.py index 6ea3bfd..c67e88c 100644 --- a/virtinst/VirtualDisk.py +++ b/virtinst/VirtualDisk.py @@ -1682,7 +1682,7 @@ class VirtualDisk(VirtualDevice): # error as appropriate. if self.bus == "virtio": return ("vd", 1024) - elif self.bus == "scsi" or self.bus == "usb": + elif self.bus in ["sata", "scsi", "usb"]: return ("sd", 1024) elif self.bus == "xen": return ("xvd", 1024) -- 1.7.7
>From 761fac5e672d6313da9dce676b9cb5467dc15007 Mon Sep 17 00:00:00 2001 From: Jim Fehlig <jfehlig@xxxxxxxx> Date: Thu, 1 Dec 2011 16:33:10 -0700 Subject: [PATCH] Add virt-manager support for AHCI controller Support for AHCI controller was added to upstream libvirt with commit c1bc3d89. This patch adds AHCI support to virt-manager. --- src/virtManager/addhardware.py | 3 ++- src/virtManager/details.py | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/virtManager/addhardware.py b/src/virtManager/addhardware.py index 1b0f004..e4fb4b3 100644 --- a/src/virtManager/addhardware.py +++ b/src/virtManager/addhardware.py @@ -516,7 +516,8 @@ class vmmAddHardware(vmmGObjectUI): add_dev("scsi", virtinst.VirtualDisk.DEVICE_DISK, "SCSI disk") add_dev("usb", virtinst.VirtualDisk.DEVICE_DISK, "USB disk") if self.vm.get_hv_type() == "kvm": - add_dev("virtio", virtinst.VirtualDisk.DEVICE_DISK, "Virtio Disk") + add_dev("sata", virtinst.VirtualDisk.DEVICE_DISK, "SATA disk") + add_dev("virtio", virtinst.VirtualDisk.DEVICE_DISK, "Virtio disk") if self.conn.is_xen(): add_dev("xen", virtinst.VirtualDisk.DEVICE_DISK, "Virtual disk") diff --git a/src/virtManager/details.py b/src/virtManager/details.py index fcd0652..818b8fb 100644 --- a/src/virtManager/details.py +++ b/src/virtManager/details.py @@ -134,7 +134,7 @@ PAGE_DETAILS = 1 PAGE_DYNAMIC_OFFSET = 2 def prettyify_disk_bus(bus): - if bus in ["ide", "scsi", "usb"]: + if bus in ["ide", "sata", "scsi", "usb"]: return bus.upper() if bus in ["xen"]: @@ -3202,6 +3202,7 @@ class vmmDetails(vmmGObjectUI): buses.append(["scsi", "SCSI"]) buses.append(["usb", "USB"]) if self.vm.get_hv_type() == "kvm": + buses.append(["sata", "SATA"]) buses.append(["virtio", "Virtio"]) if self.vm.conn.is_xen(): buses.append(["xen", "Xen"]) -- 1.7.7