Author: baggins Date: Tue Jan 17 17:39:57 2012 GMT Module: packages Tag: HEAD ---- Log message: - add new scsi controller models from upstream git
---- Files affected: packages/libvirt: libvirt.spec (1.50 -> 1.51) , libvirt-scsi-git.patch (NONE -> 1.1) (NEW) ---- Diffs: ================================================================ Index: packages/libvirt/libvirt.spec diff -u packages/libvirt/libvirt.spec:1.50 packages/libvirt/libvirt.spec:1.51 --- packages/libvirt/libvirt.spec:1.50 Thu Jan 12 22:26:51 2012 +++ packages/libvirt/libvirt.spec Tue Jan 17 18:39:51 2012 @@ -29,13 +29,14 @@ Summary(pl.UTF-8): Narzędzia współpracujące z funkcjami wirtualizacji Name: libvirt Version: 0.9.9 -Release: 1 +Release: 1.1 License: LGPL v2.1+ Group: Base/Kernel Source0: ftp://ftp.libvirt.org/libvirt/%{name}-%{version}.tar.gz # Source0-md5: 37c4bf8cdd4c76150bc0c1d249945d27 Source1: %{name}.init Patch0: %{name}-sasl.patch +Patch1: %{name}-scsi-git.patch URL: http://www.libvirt.org/ BuildRequires: audit-libs-devel BuildRequires: augeas-devel @@ -242,6 +243,7 @@ %prep %setup -q %patch0 -p1 +%patch1 -p1 # weird translations %{__rm} po/{my,eu_ES}.{po,gmo} @@ -445,6 +447,9 @@ All persons listed below can be reached at <cvs_login>@pld-linux.org $Log$ +Revision 1.51 2012/01/17 17:39:51 baggins +- add new scsi controller models from upstream git + Revision 1.50 2012/01/12 21:26:51 zbyniu - BR: gawk; more paths ================================================================ Index: packages/libvirt/libvirt-scsi-git.patch diff -u /dev/null packages/libvirt/libvirt-scsi-git.patch:1.1 --- /dev/null Tue Jan 17 18:39:57 2012 +++ packages/libvirt/libvirt-scsi-git.patch Tue Jan 17 18:39:51 2012 @@ -0,0 +1,407 @@ +From 7b345b69f28eb112238b941b743c5f6d57bd4a04 Mon Sep 17 00:00:00 2001 +From: Paolo Bonzini <[email protected]> +Date: Fri, 13 Jan 2012 13:23:55 +0100 +Subject: [PATCH] qemu: add ibmvscsi controller model + +KVM will be able to use a PCI SCSI controller even on POWER. Let +the user specify the vSCSI controller by other means than a default. + +After this patch, the QEMU driver will actually look at the model +and reject anything but auto, lsilogic and ibmvscsi. + +Signed-off-by: Paolo Bonzini <[email protected]> +--- + docs/formatdomain.html.in | 4 +- + docs/schemas/domaincommon.rng | 1 + + src/conf/domain_conf.c | 3 +- + src/conf/domain_conf.h | 1 + + src/qemu/qemu_command.c | 24 +++++++++++++-- + src/vmx/vmx.c | 9 +++-- + .../qemuxml2argv-disk-scsi-vscsi.args | 8 +++++ + .../qemuxml2argv-disk-scsi-vscsi.xml | 31 ++++++++++++++++++++ + tests/qemuxml2argvtest.c | 2 + + tests/qemuxml2xmltest.c | 1 + + 10 files changed, 73 insertions(+), 11 deletions(-) + create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-vscsi.args + create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-vscsi.xml + +diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in +index 4b31e2a..e7ba566 100644 +--- a/docs/formatdomain.html.in ++++ b/docs/formatdomain.html.in +@@ -1541,8 +1541,8 @@ + attributes <code>ports</code> and <code>vectors</code>, which + control how many devices can be connected through the + controller. A "scsi" controller has an optional +- attribute <code>model</code>, which is one of "auto", +- "buslogic", "lsilogic", "lsias1068", or "vmpvscsi". ++ attribute <code>model</code>, which is one of "auto", "buslogic", ++ "ibmvscsi", "lsilogic", "lsias1068" or "vmpvscsi". + A "usb" controller has an optional attribute <code>model</code>, + which is one of "piix3-uhci", "piix4-uhci", "ehci", + "ich9-ehci1", "ich9-uhci1", "ich9-uhci2", "ich9-uhci3", +diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng +index fdcbc28..5f67a6f 100644 +--- a/docs/schemas/domaincommon.rng ++++ b/docs/schemas/domaincommon.rng +@@ -1081,6 +1081,7 @@ + <value>lsilogic</value> + <value>lsisas1068</value> + <value>vmpvscsi</value> ++ <value>ibmvscsi</value> + <value>piix3-uhci</value> + <value>piix4-uhci</value> + <value>ehci</value> +diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c +index d474551..f01650a 100644 +--- a/src/conf/domain_conf.c ++++ b/src/conf/domain_conf.c +@@ -234,7 +234,8 @@ VIR_ENUM_IMPL(virDomainControllerModelSCSI, VIR_DOMAIN_CONTROLLER_MODEL_SCSI_LAS + "buslogic", + "lsilogic", + "lsisas1068", +- "vmpvscsi") ++ "vmpvscsi", ++ "ibmvscsi"); + + VIR_ENUM_IMPL(virDomainControllerModelUSB, VIR_DOMAIN_CONTROLLER_MODEL_USB_LAST, + "piix3-uhci", +diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h +index bac5a87..c6c4e27 100644 +--- a/src/conf/domain_conf.h ++++ b/src/conf/domain_conf.h +@@ -422,6 +422,7 @@ enum virDomainControllerModelSCSI { + VIR_DOMAIN_CONTROLLER_MODEL_SCSI_LSILOGIC, + VIR_DOMAIN_CONTROLLER_MODEL_SCSI_LSISAS1068, + VIR_DOMAIN_CONTROLLER_MODEL_SCSI_VMPVSCSI, ++ VIR_DOMAIN_CONTROLLER_MODEL_SCSI_IBMVSCSI, + + VIR_DOMAIN_CONTROLLER_MODEL_SCSI_LAST + }; +diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c +index 1bd1f37..6d98036 100644 +--- a/src/qemu/qemu_command.c ++++ b/src/qemu/qemu_command.c +@@ -2288,14 +2288,30 @@ qemuBuildControllerDevStr(virDomainDefPtr domainDef, + int *nusbcontroller) + { + virBuffer buf = VIR_BUFFER_INITIALIZER; ++ int model; + + switch (def->type) { + case VIR_DOMAIN_CONTROLLER_TYPE_SCSI: +- if (STREQ(domainDef->os.arch, "ppc64") && +- STREQ(domainDef->os.machine, "pseries")) { +- virBufferAddLit(&buf, "spapr-vscsi"); +- } else { ++ model = def->model; ++ if (model == -1 || model == VIR_DOMAIN_CONTROLLER_MODEL_SCSI_AUTO) { ++ if (STREQ(domainDef->os.arch, "ppc64") && ++ STREQ(domainDef->os.machine, "pseries")) { ++ model = VIR_DOMAIN_CONTROLLER_MODEL_SCSI_IBMVSCSI; ++ } else { ++ model = VIR_DOMAIN_CONTROLLER_MODEL_SCSI_LSILOGIC; ++ } ++ } ++ switch (model) { ++ case VIR_DOMAIN_CONTROLLER_MODEL_SCSI_LSILOGIC: + virBufferAddLit(&buf, "lsi"); ++ break; ++ case VIR_DOMAIN_CONTROLLER_MODEL_SCSI_IBMVSCSI: ++ virBufferAddLit(&buf, "spapr-vscsi"); ++ break; ++ default: ++ qemuReportError(VIR_ERR_CONFIG_UNSUPPORTED, ++ _("Unsupported controller model: %s"), ++ virDomainControllerModelSCSITypeToString(model)); + } + virBufferAsprintf(&buf, ",id=scsi%d", def->idx); + break; +diff --git a/src/vmx/vmx.c b/src/vmx/vmx.c +index c250aee..6ac500c 100644 +--- a/src/vmx/vmx.c ++++ b/src/vmx/vmx.c +@@ -481,16 +481,17 @@ def->parallels[0]... + #define VMX_BUILD_NAME(_suffix) \ + VMX_BUILD_NAME_EXTRA(_suffix, #_suffix) + +-/* directly map the virDomainControllerModel to virVMXSCSIControllerModel, +- * this is good enough for now because all virDomainControllerModel values +- * are actually SCSI controller models in the ESX case */ ++/* directly map the virDomainControllerModel to virVMXSCSIControllerModel. ++ * Using an uppercase name for unused values ensures that they will never ++ * be used. */ + VIR_ENUM_DECL(virVMXControllerModelSCSI) + VIR_ENUM_IMPL(virVMXControllerModelSCSI, VIR_DOMAIN_CONTROLLER_MODEL_SCSI_LAST, + "auto", /* just to match virDomainControllerModel, will never be used */ + "buslogic", + "lsilogic", + "lsisas1068", +- "pvscsi"); ++ "pvscsi", ++ "UNUSED ibmvscsi"); + + + +diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-vscsi.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-vscsi.args +new file mode 100644 +index 0000000..799eb92 +--- /dev/null ++++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-vscsi.args +@@ -0,0 +1,8 @@ ++LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test /usr/bin/qemu -S -M \ ++pc -m 214 -smp 1 -nographic -nodefconfig -nodefaults -monitor \ ++unix:/tmp/test-monitor,server,nowait -no-acpi -boot c -device spapr-vscsi,id=scsi0,\ ++bus=pci.0,addr=0x3 -drive file=/dev/HostVG/QEMUGuest1,if=none,\ ++id=drive-ide0-0-0 -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,\ ++id=ide0-0-0 -drive file=/tmp/scsidisk.img,if=none,id=drive-scsi0-0-0 -device \ ++scsi-disk,bus=scsi0.0,scsi-id=0,drive=drive-scsi0-0-0,id=scsi0-0-0 -usb \ ++-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4 +diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-vscsi.xml b/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-vscsi.xml +new file mode 100644 +index 0000000..7cf5798 +--- /dev/null ++++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-vscsi.xml +@@ -0,0 +1,31 @@ ++<domain type='qemu'> ++ <name>QEMUGuest1</name> ++ <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid> ++ <memory>219136</memory> ++ <currentMemory>219136</currentMemory> ++ <vcpu>1</vcpu> ++ <os> ++ <type arch='i686' machine='pc'>hvm</type> ++ <boot dev='hd'/> ++ </os> ++ <clock offset='utc'/> ++ <on_poweroff>destroy</on_poweroff> ++ <on_reboot>restart</on_reboot> ++ <on_crash>destroy</on_crash> ++ <devices> ++ <emulator>/usr/bin/qemu</emulator> ++ <disk type='block' device='disk'> ++ <source dev='/dev/HostVG/QEMUGuest1'/> ++ <target dev='hda' bus='ide'/> ++ <address type='drive' controller='0' bus='0' unit='0'/> ++ </disk> ++ <disk type='file' device='disk'> ++ <source file='/tmp/scsidisk.img'/> ++ <target dev='sda' bus='scsi'/> ++ <address type='drive' controller='0' bus='0' unit='0'/> ++ </disk> ++ <controller type='ide' index='0'/> ++ <controller type='scsi' index='0' model='ibmvscsi'/> ++ <memballoon model='virtio'/> ++ </devices> ++</domain> +diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c +index 30bea37..754d898 100644 +--- a/tests/qemuxml2argvtest.c ++++ b/tests/qemuxml2argvtest.c +@@ -429,6 +429,8 @@ mymain(void) + QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG); + DO_TEST("disk-scsi-device-auto", false, + QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG); ++ DO_TEST("disk-scsi-vscsi", false, ++ QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG); + DO_TEST("disk-sata-device", false, + QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE, + QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_ICH9_AHCI); +diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c +index 2cc1f7d..f35caee 100644 +--- a/tests/qemuxml2xmltest.c ++++ b/tests/qemuxml2xmltest.c +@@ -139,6 +139,7 @@ mymain(void) + DO_TEST("disk-drive-cache-v1-wb"); + DO_TEST("disk-drive-cache-v1-none"); + DO_TEST("disk-scsi-device"); ++ DO_TEST("disk-scsi-vscsi"); + DO_TEST("graphics-listen-network"); + DO_TEST("graphics-vnc"); + DO_TEST("graphics-vnc-sasl"); +-- +1.7.6.4 + +From c9abfadf3721505e8eaffbf56ef1e53202c1db3c Mon Sep 17 00:00:00 2001 +From: Paolo Bonzini <[email protected]> +Date: Fri, 13 Jan 2012 13:23:56 +0100 +Subject: [PATCH] qemu: add virtio-scsi controller model + +Adding a new model for virtio-scsi roughly follows the same scheme +as the previous patch. + +Signed-off-by: Paolo Bonzini <[email protected]> +--- + docs/formatdomain.html.in | 2 +- + docs/schemas/domaincommon.rng | 1 + + src/conf/domain_conf.c | 3 +- + src/conf/domain_conf.h | 1 + + src/qemu/qemu_command.c | 3 ++ + src/vmx/vmx.c | 3 +- + .../qemuxml2argv-disk-scsi-virtio-scsi.args | 9 ++++++ + .../qemuxml2argv-disk-scsi-virtio-scsi.xml | 31 ++++++++++++++++++++ + tests/qemuxml2argvtest.c | 2 + + tests/qemuxml2xmltest.c | 1 + + 10 files changed, 53 insertions(+), 3 deletions(-) + create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-virtio-scsi.args + create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-virtio-scsi.xml + +diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in +index e7ba566..faf42df 100644 +--- a/docs/formatdomain.html.in ++++ b/docs/formatdomain.html.in +@@ -1542,7 +1542,7 @@ + control how many devices can be connected through the + controller. A "scsi" controller has an optional + attribute <code>model</code>, which is one of "auto", "buslogic", +- "ibmvscsi", "lsilogic", "lsias1068" or "vmpvscsi". ++ "ibmvscsi", "lsilogic", "lsias1068", "virtio-scsi" or "vmpvscsi". + A "usb" controller has an optional attribute <code>model</code>, + which is one of "piix3-uhci", "piix4-uhci", "ehci", + "ich9-ehci1", "ich9-uhci1", "ich9-uhci2", "ich9-uhci3", +diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng +index 5f67a6f..db02603 100644 +--- a/docs/schemas/domaincommon.rng ++++ b/docs/schemas/domaincommon.rng +@@ -1082,6 +1082,7 @@ + <value>lsisas1068</value> + <value>vmpvscsi</value> + <value>ibmvscsi</value> ++ <value>virtio-scsi</value> + <value>piix3-uhci</value> + <value>piix4-uhci</value> + <value>ehci</value> +diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c +index f01650a..cf12606 100644 +--- a/src/conf/domain_conf.c ++++ b/src/conf/domain_conf.c +@@ -235,7 +235,8 @@ VIR_ENUM_IMPL(virDomainControllerModelSCSI, VIR_DOMAIN_CONTROLLER_MODEL_SCSI_LAS + "lsilogic", + "lsisas1068", + "vmpvscsi", +- "ibmvscsi"); ++ "ibmvscsi", ++ "virtio-scsi"); + + VIR_ENUM_IMPL(virDomainControllerModelUSB, VIR_DOMAIN_CONTROLLER_MODEL_USB_LAST, + "piix3-uhci", +diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h +index c6c4e27..20383c2 100644 +--- a/src/conf/domain_conf.h ++++ b/src/conf/domain_conf.h +@@ -423,6 +423,7 @@ enum virDomainControllerModelSCSI { + VIR_DOMAIN_CONTROLLER_MODEL_SCSI_LSISAS1068, + VIR_DOMAIN_CONTROLLER_MODEL_SCSI_VMPVSCSI, + VIR_DOMAIN_CONTROLLER_MODEL_SCSI_IBMVSCSI, ++ VIR_DOMAIN_CONTROLLER_MODEL_SCSI_VIRTIO_SCSI, + + VIR_DOMAIN_CONTROLLER_MODEL_SCSI_LAST + }; +diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c +index 6d98036..00da72e 100644 +--- a/src/qemu/qemu_command.c ++++ b/src/qemu/qemu_command.c +@@ -2302,6 +2302,9 @@ qemuBuildControllerDevStr(virDomainDefPtr domainDef, + } + } + switch (model) { ++ case VIR_DOMAIN_CONTROLLER_MODEL_SCSI_VIRTIO_SCSI: ++ virBufferAddLit(&buf, "virtio-scsi"); ++ break; + case VIR_DOMAIN_CONTROLLER_MODEL_SCSI_LSILOGIC: + virBufferAddLit(&buf, "lsi"); + break; +diff --git a/src/vmx/vmx.c b/src/vmx/vmx.c +index 6ac500c..5ebd92a 100644 +--- a/src/vmx/vmx.c ++++ b/src/vmx/vmx.c +@@ -491,7 +491,8 @@ VIR_ENUM_IMPL(virVMXControllerModelSCSI, VIR_DOMAIN_CONTROLLER_MODEL_SCSI_LAST, + "lsilogic", + "lsisas1068", + "pvscsi", +- "UNUSED ibmvscsi"); ++ "UNUSED ibmvscsi", ++ "UNUSED virtio-scsi"); + + + +diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-virtio-scsi.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-virtio-scsi.args +new file mode 100644 +index 0000000..38cf56e +--- /dev/null ++++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-virtio-scsi.args +@@ -0,0 +1,9 @@ ++LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test /usr/bin/qemu -S -M \ ++pc -m 214 -smp 1 -nographic -nodefconfig -nodefaults -monitor \ ++unix:/tmp/test-monitor,server,nowait -no-acpi -boot c -device \ ++virtio-scsi,id=scsi0,bus=pci.0,addr=0x3 -drive file=/dev/HostVG/QEMUGuest1,\ ++if=none,id=drive-ide0-0-0 -device ide-drive,bus=ide.0,unit=0,\ ++drive=drive-ide0-0-0,id=ide0-0-0 -drive file=/tmp/scsidisk.img,if=none,\ ++id=drive-scsi0-0-0 -device scsi-disk,bus=scsi0.0,scsi-id=0,\ ++drive=drive-scsi0-0-0,id=scsi0-0-0 -usb -device virtio-balloon-pci,\ ++id=balloon0,bus=pci.0,addr=0x4 +diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-virtio-scsi.xml b/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-virtio-scsi.xml +new file mode 100644 +index 0000000..452ade8 +--- /dev/null ++++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-virtio-scsi.xml +@@ -0,0 +1,31 @@ ++<domain type='qemu'> ++ <name>QEMUGuest1</name> ++ <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid> ++ <memory>219136</memory> ++ <currentMemory>219136</currentMemory> ++ <vcpu>1</vcpu> ++ <os> ++ <type arch='i686' machine='pc'>hvm</type> ++ <boot dev='hd'/> ++ </os> ++ <clock offset='utc'/> ++ <on_poweroff>destroy</on_poweroff> ++ <on_reboot>restart</on_reboot> ++ <on_crash>destroy</on_crash> ++ <devices> ++ <emulator>/usr/bin/qemu</emulator> ++ <disk type='block' device='disk'> ++ <source dev='/dev/HostVG/QEMUGuest1'/> ++ <target dev='hda' bus='ide'/> ++ <address type='drive' controller='0' bus='0' unit='0'/> ++ </disk> ++ <disk type='file' device='disk'> ++ <source file='/tmp/scsidisk.img'/> ++ <target dev='sda' bus='scsi'/> ++ <address type='drive' controller='0' bus='0' unit='0'/> ++ </disk> ++ <controller type='ide' index='0'/> ++ <controller type='scsi' index='0' model='virtio-scsi'/> ++ <memballoon model='virtio'/> ++ </devices> ++</domain> +diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c +index 754d898..7d09fb8 100644 +--- a/tests/qemuxml2argvtest.c ++++ b/tests/qemuxml2argvtest.c +@@ -431,6 +431,8 @@ mymain(void) + QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG); + DO_TEST("disk-scsi-vscsi", false, + QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG); ++ DO_TEST("disk-scsi-virtio-scsi", false, ++ QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG); + DO_TEST("disk-sata-device", false, + QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE, + QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_ICH9_AHCI); +diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c +index f35caee..ad1903b 100644 +--- a/tests/qemuxml2xmltest.c ++++ b/tests/qemuxml2xmltest.c +@@ -140,6 +140,7 @@ mymain(void) + DO_TEST("disk-drive-cache-v1-none"); + DO_TEST("disk-scsi-device"); + DO_TEST("disk-scsi-vscsi"); ++ DO_TEST("disk-scsi-virtio-scsi"); + DO_TEST("graphics-listen-network"); + DO_TEST("graphics-vnc"); + DO_TEST("graphics-vnc-sasl"); +-- +1.7.6.4 + ================================================================ ---- CVS-web: http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/libvirt/libvirt.spec?r1=1.50&r2=1.51&f=u _______________________________________________ pld-cvs-commit mailing list [email protected] http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit
