- 21 6月, 2013 3 次提交
-
-
Signed-off-by: NMarek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
-
由 Michal Privoznik 提交于
Currently, we have a bug when updating a graphics device. A graphics device can have a listen address set. This address is either defined by user (in which case it's type is VIR_DOMAIN_GRAPHICS_LISTEN_TYPE_ADDRESS) or it can be inherited from a network (in which case it's type is VIR_DOMAIN_GRAPHICS_LISTEN_TYPE_NETWORK). However, in both cases we have a listen address to process (e.g. during migration, as I've tried to fix in 7f15ebc7). Later, when a user tries to update the graphics device (e.g. set a password), we check if listen addresses match the original as qemu doesn't know how to change listen address yet. Hence, users are required to not change the listen address. The implementation then just dumps listen addresses and compare them. Previously, while dumping the listen addresses, NULL was returned for NETWORK. After my patch, this is no longer true, and we get a listen address for olddev even if it is a type of NETWORK. So we have a real string on one side, the NULL from user's XML on the other side and hence we think user wants to change the listen address and we refuse it. Therefore, we must take the type of listen address into account as well.
-
Do not leave uninitialized variables, not all parameters are set in libxlMake*. Signed-off-by: NMarek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
-
- 20 6月, 2013 3 次提交
-
-
libxl uses some xenstore entries for hints in memory management (especially when starting new domain). This includes dom0 memory limit and Xen free memory margin, based on current system state. Entries are created at first function usage, so force such call at daemon startup, which most likely will be before any domain startup. Also prevent automatic memory management if dom0_mem= option passed to xen hypervisor - it is known to be incompatible with autoballoon. Signed-off-by: NMarek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
-
由 John Ferlan 提交于
As a consequence of the cgroup layout changes from commit 'cfed9ad4', the lxcDomainGetSchedulerParameters[Flags]()' and lxcGetSchedulerType() APIs failed to return data for a non running domain. This can be seen through a 'virsh schedinfo <domain>' command which returns: Scheduler : Unknown error: Requested operation is not valid: cgroup CPU controller is not mounted Prior to that change a non running domain would return: Scheduler : posix cpu_shares : 0 vcpu_period : 0 vcpu_quota : 0 emulator_period: 0 emulator_quota : 0 This patch will restore the capability to return configuration only data for a non running domain regardless of whether cgroups are available.
-
由 John Ferlan 提交于
As a consequence of the cgroup layout changes from commit '632f78ca', the qemuDomainGetSchedulerParameters[Flags]()' and qemuGetSchedulerType() APIs failed to return data for a non running domain. This can be seen through a 'virsh schedinfo <domain>' command which returns: Scheduler : Unknown error: Requested operation is not valid: cgroup CPU controller is not mounted Prior to that change a non running domain would return: Scheduler : posix cpu_shares : 0 vcpu_period : 0 vcpu_quota : 0 emulator_period: 0 emulator_quota : 0 This patch will restore the capability to return configuration only data for a non running domain regardless of whether cgroups are available.
-
- 19 6月, 2013 3 次提交
-
-
由 Ján Tomko 提交于
Just to reduce the indentation levels. Remove the unneeded NULL check for disk->file, as virBufferEscapeString doesn't print anything with NULL arguments.
-
由 Ján Tomko 提交于
Split out option string generation to make adding new options easier and simplify the code.
-
由 Ján Tomko 提交于
We don't care whether the trim was succesful or not anywhere except the tests. Switch it to void and set the buffer error on wrong usage.
-
- 18 6月, 2013 11 次提交
-
-
由 Peter Krempa 提交于
This flag is meant for errors happening on the source of the migration and isn't used on the destination. To allow better migration compatibility, don't propagate it to the destination.
-
由 Peter Krempa 提交于
Paolo Bonzini pointed out that it's actually possible to migrate a qemu instance that was paused due to I/O error and it will be able to work on the destination if the storage is accessible. This patch introduces flag VIR_MIGRATE_ABORT_ON_ERROR that cancels the migration in case an I/O error happens while it's being performed and allows migration without this flag. This flag can be possibly used for other error reasons that may be introduced in the future.
-
由 Jiri Denemark 提交于
-
由 Michal Privoznik 提交于
Currently, we wait for SPICE to migrate in the very same loop where we wait for qemu to migrate. This has a disadvantage of slowing seamless migration down. One one hand, we should not kill the domain until all SPICE data has been migrated. On the other hand, there is no need to wait in the very same loop and hence slowing down 'cont' on the destination. For instance, if users are watching a movie, they can experience the movie to be stopped for a couple of seconds, as processors are not running nor on src nor on dst as libvirt waits for SPICE to migrate. We should move the waiting phase to migration CONFIRM phase.
-
由 Osier Yang 提交于
-
由 Osier Yang 提交于
The xml outputed by HAL backend for scsi generic device: <device> <name>pci_8086_2922_scsi_host_scsi_device_lun0_scsi_generic</name> <path>/sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/scsi_generic/sg0</path> <parent>pci_8086_2922_scsi_host_scsi_device_lun0</parent> <capability type='scsi_generic'> <char>/dev/sg0</char> </capability> </device>
-
由 Osier Yang 提交于
Since scsi generic device doesn't have DEVTYPE property set, the only way to know if it's a scsi generic device or not is to read the "SUBSYSTEM" property. The XML of the scsi generic device will be like: <device> <name>scsi_generic_sg0</name> <path>/sys/devices/pci0000:00/0000:00:1f.2/ata1/host0/target0:0:0/0:0:0:0/scsi_generic/sg0</path> <parent>scsi_0_0_0_0</parent> <capability type='scsi_generic'> <char>/dev/sg0</char> </capability> </device>
-
由 Guannan Ren 提交于
When qemu >= 1.20, it is safe to use -device for primary video device as described in 4c993d8a. So, we are missing the cap flag in QMP capabilities detection, this flag can be initialized safely in virQEMUCapsInitQMPBasic.
-
由 Osier Yang 提交于
-
由 Osier Yang 提交于
Checking if the "devtype" is NULL along with each "if" statements is bad. It wastes the performance, and also not good for reading. And also when the "devtype" is NULL, the logic is also not clear. This reorgnizes the logic of with "if...else" and a bunch of "else if". Other changes: * Change the function style. * Remove the useless debug statement. * Get rid of the goto * New helper udevDeviceHasProperty to simplify the logic for checking if a property is existing for the device. * Add comment to clarify "PCI devices don't set the DEVTYPE property" * s/sysfs path/sysfs name/, as udev_device_get_sysname returns the name instead of the full path. E.g. "sg0" * Refactor the comment for setting VIR_NODE_DEV_CAP_NET cap type a bit.
-
由 Osier Yang 提交于
The name format is constructed by libvirt, it's not that clear to get what the device's sysfs path should be. This exposes the device's sysfs path by a new tag <path>. Since the sysfspath is filled during enumerating the devices by either udev or HAL. It's an output-only tag.
-
- 17 6月, 2013 1 次提交
-
-
由 Doug Goldstein 提交于
In the first if case, virGetUserEnt() isn't necessary so don't bother calling it before determining we need it.
-
- 14 6月, 2013 9 次提交
-
-
由 Roman Bogorodskiy 提交于
Implementation uses SIOCIFCREATE2 and SIOCIFDESTROY ioctls.
-
由 Roman Bogorodskiy 提交于
This method is useful not only in virnetdev.c.
-
由 Roman Bogorodskiy 提交于
-
由 Ján Tomko 提交于
Call virLogVMessage instead of virLogMessage, since libudev called us with a va_list object, not a list of arguments. Honor message priority and strip the trailing newline. https://bugzilla.redhat.com/show_bug.cgi?id=969152
-
由 Richard Weinberger 提交于
...fixes a trivial copy&paste error. Signed-off-by: NRichard Weinberger <richard@nod.at>
-
由 Peter Krempa 提交于
The parsed path in the URI may be NULL resulting into: $ virsh -c qemu+ssh:// list Segmentation fault (core dumped) Introduced by 22d81ceb
-
由 Peter Krempa 提交于
Without the socket path explicitly specified, the remote driver tried to connect to the "/system" instance socket even if "/session" was specified in the uri. With this patch this configuration now produces an error. It is still possible to initiate a session connection with specifying the path to the socket manually and also manually starting the session daemon. This was also possible prior to this patch, This is a minimal fix. We may decide to support remote session connections using ssh but this will require changes to the remote driver code so this fix shouldn't cause regressions in the case we decide to do that.
-
由 Frediano Ziglio 提交于
When creating a timer/event handler reference counting is used. So it could be possible (in theory) that libxlDomainObjPrivateFree is called with reference counting >1. The problem is that libxlDomainObjPrivateFree leave the object in an invalid state with ctx freed (but still having dandling pointer). This can lead timer/event handler to core. This patch implements a dispose method for libxlDomainObjPrivate, and moves freeing the libxl ctx to the dispose method, ensuring the ctx is valid while the object's reference count is > 0. Signed-off-by: NFrediano Ziglio <frediano.ziglio@citrix.com>
-
Actually only those interface types are handled correctly so reject others instead of ignoring settings (i.e. treating as bridge/ethernet anyway). Also allow <script/> in 'ethernet' (which should be the only script-allowing type). Keep <script/> allowed in bridge to be compatible with legacy 'xen' driver. Signed-off-by: NMarek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
-
- 13 6月, 2013 1 次提交
-
-
由 Ján Tomko 提交于
Convert input XML to migratable before using it in qemuDomainSaveImageOpen. XML in the save image is migratable, i.e. doesn't contain implicit controllers. If these controllers were in a non-default order in the input XML, the ABI check would fail. Removing and re-adding these controllers fixes it. https://bugzilla.redhat.com/show_bug.cgi?id=834196
-
- 12 6月, 2013 4 次提交
-
-
由 Jim Fehlig 提交于
The legacy xen toolstack will set pygrub as the bootloader if not specified. For compatibility, do the same in the libxl driver iff not using direct kernel boot.
-
由 Jim Fehlig 提交于
Currently, the libxl driver reports a connection type of "xenlight". To be compatible with the legacy Xen driver, it should return "Xen". Note: I noticed this while testing the libxl driver on OpenStack. After switching my Xen compute nodes to use the libxl stack, I could no longer launch instances on those nodes since hypervisor_type was reported as "xenlight" instead of "xen".
-
由 Ján Tomko 提交于
Use the host number as the host number when constructing the sysfs path instead of the variable we are trying to fill. https://bugzilla.redhat.com/show_bug.cgi?id=973543
-
-
- 11 6月, 2013 5 次提交
-
-
由 Peter Krempa 提交于
Such machine can't be successuflly migrated unles the I/O error has recovered and might lead to data corruption. Forbid this kind of migration.
-
由 Peter Krempa 提交于
During a live migration the guest may receive a disk access I/O error. In this state the guest is unable to continue running on a remote host after migration as some state may be present in the kernel and not migrated. With this patch, the migration is canceled in such case so it can either continue on the source if the I/O issues are recovered or has to be destroyed anyways.
-
由 Michal Privoznik 提交于
https://bugzilla.redhat.com/show_bug.cgi?id=971485 As of d7f9d827 we copy the listen address from the qemu.conf config file in case none has been provided via XML. But later, when migrating, we should not include such listen address in the migratable XML as it is something autogenerated, not requested by user. Moreover, the binding to the listen address will likely fail, unless the address is '0.0.0.0' or its IPv6 equivalent. This patch introduces a new boolean attribute to virDomainGraphicsListenDef to distinguish autofilled listen addresses. However, we must keep the attribute over libvirtd restarts, so it must be kept within status XML.
-
由 Jiri Denemark 提交于
Avoid leaking virDomainDef if Prepare phase fails before it gets to qemuMigrationPrepareAny.
-
由 Ján Tomko 提交于
This fixes a crash: https://bugzilla.redhat.com/show_bug.cgi?id=969878
-