- 01 5月, 2010 1 次提交
-
-
由 Cole Robinson 提交于
<hostdev> address parsing previously attempted to detect the number base: currently it is hardcoded to base 16, which can break PCI assignment via virt-manager. Revert to the previous behavior. * src/conf/domain_conf.c: virDomainDevicePCIAddressParseXML, switch to virStrToLong_ui(bus, NULL, 0, ...) to autodetect base
-
- 30 4月, 2010 16 次提交
-
-
由 Daniel P. Berrange 提交于
This introduces a new event type VIR_DOMAIN_EVENT_ID_IO_ERROR_REASON This event is the same as the previous VIR_DOMAIN_ID_IO_ERROR event, but also includes a string describing the cause of the event. Thus there is a new callback definition for this event type typedef void (*virConnectDomainEventIOErrorReasonCallback)(virConnectPtr conn, virDomainPtr dom, const char *srcPath, const char *devAlias, int action, const char *reason, void *opaque); This is currently wired up to the QEMU block IO error events * daemon/remote.c: Dispatch IO error events to client * examples/domain-events/events-c/event-test.c: Watch for IO error events * include/libvirt/libvirt.h.in: Define new IO error event ID and callback signature * src/conf/domain_event.c, src/conf/domain_event.h, src/libvirt_private.syms: Extend API to handle IO error events * src/qemu/qemu_driver.c: Connect to the QEMU monitor event for block IO errors and emit a libvirt IO error event * src/remote/remote_driver.c: Receive and dispatch IO error events to application * src/remote/remote_protocol.x: Wire protocol definition for IO error events * src/qemu/qemu_monitor.c, src/qemu/qemu_monitor.h, src/qemu/qemu_monitor_json.c: Watch for BLOCK_IO_ERROR event from QEMU monitor
-
由 Jiri Denemark 提交于
-
由 Stefan Berger 提交于
Prevent updating and tearing down of filter while the IP address learning thread is running and has its own filtering rules applied.
-
由 Stefan Berger 提交于
Introduce a function to notify the IP address learning thread to terminate and thus release the lock on the interface. Notify the thread before grabbing the lock on the interface and tearing down the rules. This prevents a 'virsh destroy' to tear down the rules that the IP address learning thread has applied.
-
由 Stefan Berger 提交于
The functions invoked by the IP address learning thread that apply some basic filtering rules did not clean up any previous filtering rules that may still be there (due to a libvirt restart for example). With the patch below all the rules are cleaned up first. Also, I am introducing a function to drop all traffic in case the IP address learning thread could not apply the rules.
-
由 Daniel Veillard 提交于
* src/util/util.c: as it's used for checking things like .iso suffixes
-
由 Stefan Berger 提交于
The local DHCP server on virtbr0 sends DHCP ACK messages when a VM is started and requests an IP address while the initial DHCP lease on the VM's MAC address hasn't expired. So, also pick the IP address of the VM if that type of message is seen. Thanks to Gerhard Stenzel for providing a test case for this. Changes from V1 to V2: - cleanup: replacing DHCP option numbers through constants
-
由 Dustin Kirkland 提交于
Ubuntu's gntls package generates an Issuer line that looks like this: Issuer: C=US,ST=NY,L=Rochester,O=example.com,CN=example.com CA,EMAIL=hostmaster@example.com While Red Hat's looks like this Issuer: CN=Red Hat Emerging Technologies Note the leading whitespace, and the additional fields in the former. This patch updates the regular expression to: * trim leading characters before "Issuer:" * trim anything between Issuer: and CN= * trim anything after the next , I've tested this against the certool output of both RH and Ubuntu generated certs. Signed-off-by: NDustin Kirkland <kirkland@canonical.com> Signed-off-by: NEric Blake <eblake@redhat.com>
-
由 Jim Meyering 提交于
* src/qemu/qemu_driver.c (qemudDomainSaveFlag): Remove dead store to "rc".
-
由 Daniel P. Berrange 提交于
When using -device syntax, the IO event will have a different prefix, 'drive-' that needs to be skipped over before matching against the libvirt disk alias * src/qemu/qemu_driver.c: Skip QEMU_DRIVE_HOST_PREFIX in IO event
-
由 Daniel P. Berrange 提交于
This binds the virDomainGetBlockInfo API to python's blockInfo method on the domain object >>> c = libvirt.openReadOnly('qemu:///session') >>> d = c.lookupByName('demo') >>> f = d.blockInfo("/dev/loop0", 0) >>> print f [1048576000L, 104857600L, 104857600L] * python/libvirt-override-api.xml: Define override signature * python/generator.py: Skip C impl generator for virDomainGetBlockInfo * python/libvirt-override.c: Manual impl of virDomainGetBlockInfo
-
由 Daniel P. Berrange 提交于
virsh # domblkinfo demoguest /dev/hda2 Capacity: 1048576000 Allocation: 104857600 Physical: 104857600 * tools/virsh.c: Implement domblkinfo command mapping to the new virDomainGetBlockInfo API
-
由 Daniel P. Berrange 提交于
* src/qemu/qemu_driver.c: Implementation of virDomainGetBlockInfo * src/util/storage_file.h: Add DEV_BSIZE * src/storage/storage_backend.c: Remove DEV_BSIZE
-
由 Daniel P. Berrange 提交于
* daemon/remote.c: Server side dispatcher * daemon/remote_dispatch_args.h, daemon/remote_dispatch_prototypes.h, daemon/remote_dispatch_ret.h, daemon/remote_dispatch_table.h: Update with new API * src/remote/remote_driver.c: Client side dispatcher * src/remote/remote_protocol.c, src/remote/remote_protocol.h: Update * src/remote/remote_protocol.x: Define new wire protocol
-
由 Daniel P. Berrange 提交于
This defines the internal driver API and stubs out each driver * src/driver.h: Define virDrvDomainGetBlockInfo signature * src/libvirt.c, src/libvirt_public.syms: Glue public API to drivers * src/esx/esx_driver.c, src/lxc/lxc_driver.c, src/opennebula/one_driver.c, src/openvz/openvz_driver.c, src/phyp/phyp_driver.c, src/test/test_driver.c, src/uml/uml_driver.c, src/vbox/vbox_tmpl.c, src/xen/xen_driver.c, src/xenapi/xenapi_driver.c: Stub out driver
-
由 Daniel P. Berrange 提交于
Some applications need to be able to query a guest's disk info, even for paths not managed by the storage pool APIs. This adds a very simple API to get this information, modelled on the virStorageVolGetInfo API, but with an extra field 'physical'. Normally 'physical' and 'allocation' will be identical, but in the case of a qcow2-like file stored inside a block device 'physical' will give the block device size, while 'allocation' will give the qcow2 image size * include/libvirt/libvirt.h.in: Define virDomainGetBlockInfo
-
- 29 4月, 2010 10 次提交
-
-
由 Chris Lalancette 提交于
When running virsh edit, we are unlinking and setting the tmp variable to NULL before going to the end of the function, meaning that we never free tmp. Since the exit to the function will always unlink and free tmp, just remove this bit of code and let it get done at the end. Signed-off-by: NChris Lalancette <clalance@redhat.com>
-
由 Chris Lalancette 提交于
qemuDomainPCIAddressSetFree was freeing up the hash table for the pci addresses, but not freeing up the addr structure. Looking over the callers of this function, it seems like they expect it to also free up the structure, so do that here. Signed-off-by: NChris Lalancette <clalance@redhat.com>
-
由 Chris Lalancette 提交于
We were over-writing a pointer without freeing it in case of a disk device, leading to a memory leak. Signed-off-by: NChris Lalancette <clalance@redhat.com>
-
由 Chris Lalancette 提交于
When building on Ubuntu with make -j3 (or more), it would always fail when trying to build virt-aa-helper. I'm not an expert in automake by any means, but I think the entry for virt-aa-helper is mis-using LDADD; it shouldn't be putting direct paths to libvirt_conf.la and libvirt_util.la, but instead referencing those names. With this patch in place, I'm able to successfully build on Ubuntu 9.04 with make -j3. Signed-off-by: NChris Lalancette <clalance@redhat.com>
-
由 Chris Lalancette 提交于
Signed-off-by: NChris Lalancette <clalance@redhat.com>
-
由 Daniel P. Berrange 提交于
The previous commit changes a goto from 'endjob' to 'cleanup', leaving the endjob label unused. Remove it to avoid compile warning. * src/qemu/qemu_driver.c: Remove 'endjob' label
-
由 Stefan Berger 提交于
I have primarily followed the pattern of the 'secret' driver to provide support for the missing python bindings for the network filter API.
-
由 Jim Meyering 提交于
* src/qemu/qemu_driver.c (qemuDomainSnapshotCreateXML): When setting "vm" to NULL, jump over vm-dereferencing code to "cleanup". (qemuDomainRevertToSnapshot): Likewise.
-
由 Jim Meyering 提交于
* src/qemu/qemu_driver.c (qemudDomainCreate): Goto cleanup, not "endjob", since we know "vm" is already NULL. No semantic change.
-
由 Matthias Bolte 提交于
Let configure detect ld instead of hardcoding /usr/bin/ld, because MinGW may have ld in /bin. Only use a .def file to export symbols on MinGW. Cygwin's ld supports the normal .syms file used on Linux.
-
- 28 4月, 2010 11 次提交
-
-
由 Eric Blake 提交于
* cfg.mk (gnulib_srcdir): Override maint.mk default. (_update_required): Run in correct directory.
-
由 Daniel Veillard 提交于
use /var/lib/libvirt/dnsmasq since /var/lib/libvirt/network is unreadable by the dnsmasq binary * src/network/bridge_driver.c: update DNSMASQ_STATE_DIR * src/Makefile.am: create it on make install * libvirt.spec.in: take the new directory into account
-
由 Stefan Berger 提交于
So far the references to other filters needed to appear before filtering rules. With the below patch they can now appear in any order. Also I forgot to add a couple of 'rarp's.
-
由 Daniel P. Berrange 提交于
In cases where the security driver failed to restore a label after a guest has saved, we mistakenly jumped to the error cleanup paths. This is not good, because the operation has in fact completed and cannot be rolled back completely. Label restore is non-critical, so just log the problem instead. Also add a missing restore call in the error cleanup path * src/qemu/qemu_driver.c: Fix handling of security driver restore failures in QEMU domain save
-
由 Daniel P. Berrange 提交于
When cgroups is enabled, access to block devices is likely to be restricted to a whitelist. Prior to saving a guest to a block device, it is necessary to add the block device to the whitelist. This is not required upon restore, since QEMU reads from stdin * src/qemu/qemu_driver.c: Add block device to cgroups whitelist if neccessary during domain save.
-
由 Daniel P. Berrange 提交于
The save process was relying on use of the shell >> append operator to ensure the save data was placed after the libvirt header + XML. This doesn't work for block devices though. Replace this code with use of 'dd' and its 'seek' parameter. This means that we need to pad the header + XML out to a multiple of dd block size (in this case we choose 512). The qemuMonitorMigateToCommand() monitor API is used for both save/coredump, and migration via UNIX socket. We can't simply switch this to use 'dd' since this causes problems with the migration usage. Thus, create a dedicated qemuMonitorMigateToFile which can accept an filename + offset, and remove the filename from the current qemuMonitorMigateToCommand() API * src/qemu/qemu_driver.c: Switch to qemuMonitorMigateToFile for save and core dump * src/qemu/qemu_monitor.c, src/qemu/qemu_monitor.h, src/qemu/qemu_monitor_json.c, src/qemu/qemu_monitor_json.h, src/qemu/qemu_monitor_text.c, src/qemu/qemu_monitor_text.h: Create a new qemuMonitorMigateToFile, separate from the existing qemuMonitorMigateToCommand to allow handling file offsets
-
由 Daniel P. Berrange 提交于
It is possible to use block devices with domain save/restore. Upon failure QEMU unlinks the path being saved to. This isn't good when it is a block device ! * src/qemu/qemu_driver.c: Don't unlink block devices if save fails
-
由 Daniel P. Berrange 提交于
If a transient QEMU crashes during save attempt, then the virDomainPtr object may be freed. If a persistent QEMU crashes during save, then the 'priv->mon' field is no longer valid since it will be inactive. * src/qemu/qemu_driver.c: Fix two crashes when QEMU exits during a save attempt
-
由 Stefan Berger 提交于
Qemu currently sends an Ethernet packet with protocol id 0x835 once a VM was successfully migrated. The content of the packet looks like a gratuitous RARP, just with the wrong protocol ID, which should be 0x8035. I wrote some filters to let either one of the packets pass and am adapting the clean-traffic sample filter to use it. I am also doing some changes on the existing ARP filter which was lacking a test for source MAC address.
-
由 Chris Lalancette 提交于
Signed-off-by: NChris Lalancette <clalance@redhat.com>
-
由 Klaus Ethgen 提交于
Signed-off-by: NGuido Günther <agx@sigxcpu.org>
-
- 27 4月, 2010 2 次提交
-
-
由 Chris Lalancette 提交于
In particular I was forgetting to take the qemuMonitorPrivatePtr lock (via qemuDomainObjBeginJob), which would cause problems if two users tried to access the same domain at the same time. This patch also fixes a problem where I was forgetting to remove a transient domain from the list of domains. Thanks to Stephen Shaw for pointing out the problem and testing out the initial patch. Signed-off-by: NChris Lalancette <clalance@redhat.com>
-
由 Daniel Veillard 提交于
Just removing reverences to the deprecated CVS server and the old git on et.redhat.com
-