- 09 12月, 2009 3 次提交
-
-
由 Jim Fehlig 提交于
xen-unstable changesets 20321 and 20521 added support for description in xend domain config. This patch extends that support in xend backend. * src/xen/xend_internal.c: add parse and output of domain description
-
由 Daniel P. Berrange 提交于
The QEMU 0.10.0 release (and possibly other 0.10.x) has a bug where it sometimes/often forgets to display the initial monitor greeting line, soley printing a (qemu). This in turn confuses the text console parsing because it has a '(qemu)' it is not expecting. The confusion results in a negative malloc. Bad things follow. This re-writes the text console handling to be more robust. The key idea is that it should only look for a (qemu), once it has seen the original command echo'd back. This ensures it'll skip the bogus stray (qemu) with broken QEMUs. * src/qemu/qemu_monitor.c: Add some (disabled) debug code * src/qemu/qemu_monitor_text.c: Re-write way command replies are detected
-
由 Daniel P. Berrange 提交于
Since the monitor I/O is processed out of band from the main thread(s) invoking monitor commands, the virDomainObj may be deleted by the I/O thread. The qemuDomainObjBeginJob takes an extra reference to protect against final deletion, but this reference is released by the corresponding EndJob call. THus after the EndJob call it may not be valid to reference the virDomainObj any more. To allow callers to detect this, the EndJob call is changed to return the remaining reference count. * src/conf/domain_conf.c: Make virDomainObjUnref return the remaining reference count * src/qemu/qemu_driver.c: Avoid referencing virDomainObjPtr after qemuDomainObjEndJob if it has been deleted.
-
- 08 12月, 2009 18 次提交
-
-
由 Daniel Veillard 提交于
Fix this warning, there is no need to use an intermediate, different array pointer. network.c: In function 'getIPv6Addr': network.c:50: warning: dereferencing type-punned pointer will break strict-aliasing rules * src/util/network.c: avoid an intermediary pointer cast
-
由 Daniel P. Berrange 提交于
* src/qemu/qemu_monitor_json.c: Hook up reset, shutdown, poweroff and stop events
-
由 Daniel P. Berrange 提交于
* src/qemu/qemu_monitor.c, src/qemu/qemu_monitor.h: Add callbacks for reset, shutdown, poweroff and stop events. Add convenience methods for emiting those events
-
由 Daniel P. Berrange 提交于
With addition of events there will be alot of callbacks. To avoid having to add many APIs to register callbacks, provide them all at once in a big table * src/qemu/qemu_driver.c: Pass in a callback table to QEMU monitor code * src/qemu/qemu_monitor.c, src/qemu/qemu_monitor.h Replace the EOF and disk secret callbacks with a callback table
-
由 Daniel P. Berrange 提交于
Initial support for the new QEMU monitor protocol using JSON as the data encoding format instead of plain text * po/POTFILES.in: Add src/qemu/qemu_monitor_json.c * src/qemu/qemu_conf.c, src/qemu/qemu_conf.h: Hack to turn on QMP mode. Replace with a version number check on >= 0.12 later * src/qemu/qemu_monitor.c: Delegate to json monitor if enabled * src/qemu/qemu_monitor_json.c, src/qemu/qemu_monitor_json.h: Add impl of QMP protocol * src/Makefile.am: Add src/qemu/qemu_monitor_json.{c,h}
-
由 Daniel P. Berrange 提交于
Now that drivers are using a private domain object state blob, the virDomainObjFormat/Parse methods are no longer able to directly serialize all neccessary state to/from XML. It is thus neccessary to introduce a pair of callbacks fo serializing private state. The code for serializing vCPU PIDs and the monitor device config can now move out of domain_conf.c and into the qemu_driver.c where they belong. * src/conf/capabilities.h: Add callbacks for serializing private state to/from XML * src/conf/domain_conf.c, src/conf/domain_conf.h: Remove the monitor, monitor_chr, monitorWatch, nvcpupids and vcpupids fields from virDomainObjPtr. Remove code that serialized those fields * src/libvirt_private.syms: Export virXPathBoolean * src/qemu/qemu_driver.c: Add callbacks for serializing monitor and vcpupid data to/from XML * src/qemu/qemu_monitor.h, src/qemu/qemu_monitor.c: Pass monitor char device config into qemuMonitorOpen directly.
-
由 Daniel P. Berrange 提交于
* src/lxc/lxc_driver.c: Introduce lxcDomainObjPrivate for storing monitor device state
-
由 Daniel P. Berrange 提交于
* src/uml/uml_driver.c: Introduce umlDomainObjPrivateData for storing monitor device state. Remove unneccessary VIR_FREE on vcpupids
-
由 Daniel P. Berrange 提交于
The code to start CPUs executing has nothing todo with CPU affinity masks, so pull it out of the qemudInitCpuAffinity() method and up into qemudStartVMDaemon() * src/qemu/qemu_driver.c: Pull code to start CPUs executing out of qemudInitCpuAffinity()
-
由 Daniel P. Berrange 提交于
The current QEMU disk media change does not support setting the disk format. The new JSON monitor will support this, so add an extra parameter to pass this info in * src/qemu/qemu_driver.c: Pass in disk format when changing media * src/qemu/qemu_monitor.h, src/qemu/qemu_monitor.c, src/qemu/qemu_monitor_text.c, src/qemu/qemu_monitor_text.h: Add a 'format' arg to qemuMonitorChangeMedia()
-
由 Daniel P. Berrange 提交于
* src/qemu/qemu_monitor_text.c: Add missing underscore in the migrate_cancel monitor command impl
-
由 Daniel P. Berrange 提交于
The qemuMonitorEscape() method, and the VIR_ENUM for migration status will be needed by the JSON monitor too, so move that code into the shared qemu_monitor.c file instead of qemu_monitor_text.c * src/qemu/qemu_monitor.h: Declare qemuMonitorMigrationStatus enum and qemuMonitorEscapeArg and qemuMonitorEscapeShell methods * src/qemu/qemu_monitor.c: Implement qemuMonitorMigrationStatus enum and qemuMonitorEscapeArg and qemuMonitorEscapeShell methods * src/qemu/qemu_monitor_text.c: Remove above methods/enum
-
由 Daniel P. Berrange 提交于
If QEMU shuts down while we're in the middle of processing a monitor command, the monitor will be freed, and upon cleaning up we attempt to do qemuMonitorUnlock(priv->mon) when priv->mon is NULL. To address this we introduce proper reference counting into the qemuMonitorPtr object, and hold an extra reference whenever executing a command. * src/qemu/qemu_driver.c: Hold a reference on the monitor while executing commands, and only NULL-ify the priv->mon field when the last reference is released * src/qemu/qemu_monitor.h, src/qemu/qemu_monitor.c: Add reference counting to handle safe deletion of monitor objects
-
由 Guido Günther 提交于
Fix crash on strdup in that case.
-
由 Daniel Veillard 提交于
configure: yajl: no CC libvirt_util_la-json.lo util/json.c:32:27: error: yajl/yajl_gen.h: No such file or directory util/json.c:33:29: error: yajl/yajl_parse.h: No such file or directory * src/util/json.c: remove the includes if yajl not configured in
-
由 Matthias Bolte 提交于
-
由 Matthias Bolte 提交于
This solves the 'nsIEventQueue object is null' error when trying to connect to a VirtualBox 3.1 hypervisor instance.
-
由 Daniel P. Berrange 提交于
* src/util/json.c: Fix ReprotError typo when YAJL is not available
-
- 07 12月, 2009 1 次提交
-
-
由 Daniel P. Berrange 提交于
This introduces simple API for handling JSON data. There is an internal data structure 'virJSONValuePtr' which stores a arbitrary nested JSON value (number, string, array, object, nul, etc). There are APIs for constructing/querying objects and APIs for parsing/formatting string formatted JSON data. This uses the YAJL library for parsing/formatting from http://lloyd.github.com/yajl/ * src/util/json.h, src/util/json.c: Data structures and APIs for representing JSON data, and parsing/formatting it * configure.in: Add check for yajl library * libvirt.spec.in: Add build requires for yajl * src/Makefile.am: Add json.c/h * src/libvirt_private.syms: Export JSON symbols to drivers
-
- 05 12月, 2009 2 次提交
-
-
由 Jiri Denemark 提交于
Some of the very useful calls for XML parsing provided by util/xml.[ch] were not exported as private symbols. This patch fixes this. Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
-
由 Matthias Bolte 提交于
-
- 04 12月, 2009 4 次提交
-
-
由 Jiri Denemark 提交于
Xen HVM guests with PV drivers end up with two network interfaces for each configured interface. One of them being emulated by qemu and the other one paravirtual. As this might not be desirable, the attached patch provides a way for users to specify that only paravirtual network interface should be presented to the guest. The configuration was inspired by qemu/kvm driver, for which users can specify model='virtio' to use paravirtual network interface. The patch adds support for model='netfront' which results in type=netfront instead of type=ioemu (or nothing for newer xen versions) in guests native configuration. Xen's qemu ignores interfaces with type != ioemu and only paravirtual network device will be seen in the guest. Four possible configuration scenarios follow: - no model specified in domain's XML - libvirt will behave like before this change; it will set type=ioemu for HVM guests on xen host which is not newer than XEND_CONFIG_MAX_VERS_NET_TYPE_IOEMU - covered by existing tests - PV guest, any model - no functional change, model is passed as is (and ignored by the hypervisor) - covered by existing tests (e.g., *-net-e1000.*) - HVM guest, model=netfront - type is set to "netfront", model is not specified - covered by new *-net-netfront.* tests - HVM guest, model != netfront - type is set to "ioemu", model is passed as is - covered by new *-net-ioemu.* tests The fourth scenario feels like a regression for xen newer than XEND_CONFIG_MAX_VERS_NET_TYPE_IOEMU as users who had a model specified in their guest's configuration won't see a paravirtual interface in their guests any more. On the other hand, the reason for specifying a model is most likely the fact that they want to use such model which implies emulated interface. Users of older xen won't be affected at all as their xen provides paravirtual interface regardless of the type used. - src/xen/xend_internal.c: add netfront support for the xend backend - src/xen/xm_internal.c: add netfront support for the XM serialization too
-
由 Pritesh Kothari 提交于
Also fixed serial port configuration which was broken due to recent change in virDomainChrDef where targetType was newly added. * src/Makefile.am: add new files * src/vbox/vbox_driver.c: add case for version 3.1 * src/vbox/vbox_tmpl.c: refactor common patterns into macros, support for version 3.1, serial port configuration fix * src/vbox/vbox_CAPI_v3_1.h, src/vbox/vbox_V3_1.c: generated code
-
由 Matthias Bolte 提交于
esxVMX_IndexToDiskName handles indices up to 701. This limit comes from a mapping gap in virDiskNameToIndex: sdzy -> 700 sdzz -> 701 sdaaa -> 728 sdaab -> 729 This line in virDiskNameToIndex causes this gap: idx = (idx + i) * 26; Fixing it by altering this line to: idx = (idx + (i < 1 ? 0 : 1)) * 26; Also add a new version of virIndexToDiskName that handles the inverse mapping for arbitrary indices. * src/esx/esx_vmx.[ch]: remove esxVMX_IndexToDiskName * src/util/util.[ch]: add virIndexToDiskName and fix mapping gap * tests/esxutilstest.c: update test to verify that the gap is fixed
-
由 Matthias Bolte 提交于
* src/conf/domain_conf.c: don't call virDomainObjUnlock twice * src/qemu/qemu_driver.c: relock driver lock if an error occurs in qemuDomainObjBeginJobWithDriver, enter/exit monitor with driver in qemudDomainSave
-
- 30 11月, 2009 1 次提交
-
-
由 Paolo Bonzini 提交于
* src/xen/xend_internal.c (xend_op): Add ATTRIBUTE_SENTINEL.
-
- 27 11月, 2009 1 次提交
-
-
由 Wolfgang Mauerer 提交于
The instruction "See Makefile.am" in libvirt.private_syms always makes me think that this file is autogenerated and should not be touched manually. This patch spares every reader of libvirt.private_syms the hassle of reading Makefile.am before augmenting libvirt.private_syms. Signed-off-by: NWolfgang Mauerer <wolfgang.mauerer@siemens.com> Signed-off-by: NJan Kiszka <jan.kiszka@siemens.com>
-
- 26 11月, 2009 3 次提交
-
-
由 Daniel P. Berrange 提交于
* src/test/test_driver.c: Fix leak of vcpu info, and nodedevice info
-
由 Daniel P. Berrange 提交于
* src/qemu/qemu_driver.c: Free cgroup ACLs
-
由 Matthias Bolte 提交于
Commit 790f0b30 causes the contents of the names array to be freed even on success, resulting in no listing of defined but inactive Xen domains. Spotted by Jim Fehlig
-
- 24 11月, 2009 2 次提交
-
-
由 Daniel P. Berrange 提交于
* src/qemu/qemu_conf.c: Fix default disk type to be 'FILE' again, after previous commit accidentally changed it
-
由 Gerhard Stenzel 提交于
* src/qemu/qemu_driver.c: remove the port filter if the network device is detached via virDomainDetachDevice.
-
- 23 11月, 2009 3 次提交
-
-
由 Daniel P. Berrange 提交于
Introduce a new type="dir" mode for <disks> that allows use of QEMU's virtual FAT block device driver. eg <disk type='dir' device='floppy'> <source dir='/tmp/test'/> <target dev='fda' bus='fdc'/> <readonly/> </disk> gets turned into -drive file=fat:floppy:/tmp/test,if=floppy,index=0 Only read-only disks are supported with virtual FAT mode * src/conf/domain_conf.c, src/conf/domain_conf.h: Add type="dir" * docs/schemas/domain.rng: Document new disk type * src/xen/xend_internal.c, src/xen/xm_internal.c: Raise error for unsupported disk types * tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-empty.args: Fix empty disk file handling * tests/qemuxml2argvdata/qemuxml2argv-disk-drive-fat.args, tests/qemuxml2argvdata/qemuxml2argv-disk-drive-fat.xml, tests/qemuxml2argvdata/qemuxml2argv-floppy-drive-fat.args, tests/qemuxml2argvdata/qemuxml2argv-floppy-drive-fat.xml tests/qemuxml2argvtest.c: Test QEMU vitual FAT driver * src/qemu/qemu_conf.c: Support generating fat:/some/dir type disk args * src/security/security_selinux.c: Temporarily skip labelling of directory based disks
-
由 Daniel P. Berrange 提交于
The cpu_set_t type can only cope with NR_CPUS <= 1024, beyond this it is neccessary to use alternate CPU_SET maps with a dynamically allocated CPU map * src/util/processinfo.c: Support new unlimited size CPU set type
-
由 Daniel P. Berrange 提交于
* src/Makefile.am: Add processinfo.h/processinfo.c * src/util/processinfo.c, src/util/processinfo.h: Module providing APIs for getting/setting process CPU affinity * src/qemu/qemu_driver.c: Switch over to new APIs for schedular affinity * src/libvirt_private.syms: Export virProcessInfoSetAffinity and virProcessInfoGetAffinity to internal drivers
-
- 21 11月, 2009 1 次提交
-
-
由 Daniel Veillard 提交于
0.7.3 was broken * configure.in docs/news.html.in: release of 0.7.4 * configure.in libvirt.spec.in: require netcf >= 0.1.4 * src/Makefile.am: node_device/node_device_udev.h was missing from NODE_DEVICE_DRIVER_UDEV_SOURCES breaking compilation on platforms with udev
-
- 20 11月, 2009 1 次提交
-
-
由 Daniel Veillard 提交于
* src/xen/xm_internal.c: the XM driver was not checking for previously defined UUID on new defines. Similar to virDomainObjIsDuplicate() behaviour.
-