From 9480065b289e157bd725172d40542fd944001f31 Mon Sep 17 00:00:00 2001 From: Julien Duponchelle Date: Tue, 10 Jan 2017 14:11:40 +0100 Subject: [PATCH] Sata disk interface support for Qemu VMs. (#862) --- gns3server/compute/qemu/qemu_vm.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/gns3server/compute/qemu/qemu_vm.py b/gns3server/compute/qemu/qemu_vm.py index 50966ec08..899ca0b69 100644 --- a/gns3server/compute/qemu/qemu_vm.py +++ b/gns3server/compute/qemu/qemu_vm.py @@ -1367,7 +1367,14 @@ class QemuVM(BaseNode): else: disk = disk_image - options.extend(["-drive", 'file={},if={},index={},media=disk'.format(disk, interface, disk_index)]) + + if interface == "sata": + # special case, sata controller doesn't exist in Qemu + options.extend(["-device", 'ahci,id=ahci{},bus=pci.{}'.format(disk_index, disk_index)]) + options.extend(["-drive", 'file={},if=none,id=drive-sata-disk{},index={},media=disk'.format(disk, disk_index, disk_index)]) + options.extend(["-device", 'ide-drive,drive=drive-sata-disk{},bus=ahci{}.0'.format(disk_index, disk_index)]) + else: + options.extend(["-drive", 'file={},if={},index={},media=disk'.format(disk, interface, disk_index)]) return options