- 11 1月, 2013 1 次提交
-
-
由 Chunyan Liu 提交于
Pass stub driver name directly to pciDettachDevice and pciReAttachDevice to fit for different libvirt drivers. For example, qemu driver prefers pci-stub, but Xen prefers pciback. Signed-off-by: NChunyan Liu <cyliu@suse.com>
-
- 10 1月, 2013 5 次提交
-
-
由 Guannan Ren 提交于
QEMU_CAPS_DEVICE_USB_NET /* -device usb-net */
-
由 Guannan Ren 提交于
Add an optional 'type' attribute to <target> element of serial port device. There are two choices for its value, 'isa-serial' and 'usb-serial'. For backward compatibility, when attribute 'type' is missing the 'isa-serial' will be chosen as before. Libvirt XML sample <serial type='pty'> <target type='usb-serial' port='0'/> <address type='usb' bus='0' port='1'/> </serial> qemu commandline: qemu ${other_vm_args} \ -chardev pty,id=charserial0 \ -device usb-serial,chardev=charserial0,id=serial0,bus=usb.0,port=1
-
由 Guannan Ren 提交于
QEMU_CAPS_DEVICE_USB_SERIAL /* -device usb-serial */
-
由 Michal Privoznik 提交于
https://bugzilla.redhat.com/show_bug.cgi?id=892079 With current code, if user calls virDomainPMSuspendForDuration() followed by virDomainDestroy(), the former API checks for qemu agent presence, which will evaluate as true (if agent is configured). While talking to qemu agent, the qemu driver is unlocked, so the latter API starts executing. However, if machine dies meanwhile, libvirtd gets EOF on the agent socket and qemuProcessHandleAgentEOF() is called. The handler clears reference to qemu agent while the destroy API already holding a reference to it. This leads to NULL dereferencing later in the code. Therefore, the agent pointer should be set to NULL only if we are the exclusive owner of it.
-
由 Eric Blake 提交于
While OOM can have knock-on effects that trash a system, generally the first symptom is one of memory thrashing. * src/qemu/qemu_cgroup.c (qemuSetupCgroup): Reword slightly.
-
- 09 1月, 2013 2 次提交
-
-
由 Andres Lagar-Cavilla 提交于
Perform all the appropriate plumbing. When qemu/KVM VMs are paused manually through a monitor not-owned by libvirt, libvirt will think of them as "paused" event after they are resumed and effectively running. With this patch the discrepancy goes away. This is meant to address bug 892791. Signed-off-by: NAndres Lagar-Cavilla <andres@lagarcavilla.org>
-
由 Daniel P. Berrange 提交于
Add checks for existence of GNUTLS and automatically disable it if not found. Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
-
- 08 1月, 2013 4 次提交
-
-
由 Michal Privoznik 提交于
Currently, if there's no hard memory limit defined for a domain, libvirt tries to calculate one, based on domain definition and magic equation and set it upon the domain startup. The rationale behind was, if there's a memory leak or exploit in qemu, we should prevent the host system trashing. However, the equation was too tightening, as it didn't reflect what the kernel counts into the memory used by a process. Since many hosts do have a swap, nobody hasn't noticed anything, because if hard memory limit is reached, process can continue allocating memory on a swap. However, if there is no swap on the host, the process gets killed by OOM killer. In our case, the qemu process it is. To prevent this, we need to relax the hard RSS limit. Moreover, we should reflect more precisely the kernel way of accounting the memory for process. That is, even the kernel caches are counted within the memory used by a process (within cgroups at least). Hence the magic equation has to be changed: limit = 1.5 * (domain memory + total video memory) + (32MB for cache per each disk) + 200MB
-
由 J.B. Joret 提交于
This is the QEMU backend code for the SCLP console support. It includes SCLP capability detection, QEMU command line generation and a test case. Signed-off-by: NJ.B. Joret <jb@linux.vnet.ibm.com> Signed-off-by: NViktor Mihajlovski <mihajlov@linux.vnet.ibm.com>
-
由 Daniel P. Berrange 提交于
Since we daemonized QEMU for capabilities probing there is a long time if QEMU fails to launch. This is because we're not passing in any virDomainObjPtr instance and thus the monitor code can not check to see if the PID is still alive. Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
-
由 Daniel P. Berrange 提交于
The current code is initializing capabilities before setting directory permissions. Thus the QEMU binaries being run may not have the ability to create the UNIX monitor socket on the first run of libvirtd.
-
- 07 1月, 2013 3 次提交
-
-
由 Osier Yang 提交于
This prevents domain starting and disk attaching if the shared disk's setting conflicts with other active domain(s), E.g. A domain with "sgio" set as "filtered", however, another active domain is using it set as "unfiltered".
-
由 Osier Yang 提交于
This ignores the default "filtered" if unpriv_sgio is not supported by kernel, but for explicit request "filtered", it error out for domain starting.
-
由 Osier Yang 提交于
This introduces a hash table for qemu driver, to store the shared disk's info as (@major:minor, @ref_count). @ref_count is the number of domains which shares the disk. Since we only care about if the disk support unprivileged SG_IO commands, and the SG_IO commands only make sense for block disk, this patch only manages (add/remove hash entry) the shared disk for block disk. * src/qemu/qemu_conf.h: (Add member 'sharedDisks' of type virHashTablePtr; Declare helpers qemuGetSharedDiskKey, qemuAddSharedDisk and qemuRemoveSharedDisk) * src/qemu/qemu_conf.c (Implement the 3 helpers) * src/qemu/qemu_process.c (Update 'sharedDisks' when domain starting and shutdown) * src/qemu/qemu_driver.c (Update 'sharedDisks' when attaching or detaching disk).
-
- 05 1月, 2013 7 次提交
-
-
由 Peter Krempa 提交于
A redefinition of an external inactive snapshot/checkpoint wasn't possible without this change.
-
由 Peter Krempa 提交于
When the disk alignment check done while redefining an existing snapshot failed, the qemu driver attempted to free the existing snapshot. As in the cleanup path the definition of the snapshot wasn't assigned, the cleanup code dereferenced a NULL pointer. This patch changes the behavior on error paths while redefining snapshot in two ways: 1) On failure, modifications done on the snapshot definition object are rolled back. 2) The previous definition of the data isn't freed until it's certain it won't be needed any more. This change avoids the segfault and additionally the snapshot doesn't vanish if redefinition fails for some reason.
-
由 Peter Krempa 提交于
-
由 John Eckersberg 提交于
-
由 John Eckersberg 提交于
This also changes the function signature to take a virDomainChrSourceDefPtr instead of just a path, since it needs to differentiate behavior based on source->type.
-
由 John Eckersberg 提交于
The functionality provided in virchrdev.c (previously virconsole.c) is applicable to other types of character devices besides consoles, such as channels. This patch is just code motion, renaming things such as "console" or "pty", instead using more general terms such as "character device" or "device path".
-
由 John Eckersberg 提交于
This is just code motion, in preparation to rename identifiers to be less console-specific.
-
- 04 1月, 2013 2 次提交
-
-
由 Michal Privoznik 提交于
Since 4c993d8a we failed to set this important capability, which allows starting a domain with QXL video card. We set DEVICE_QXL capability bit instead, which is not necessary wrong. Anyway, if qemu supports the new '-device qxl' it supports older '-vga qxl' as well. The latter is used for the primary (the first) qxl video card, the former for other video cards.
-
- 03 1月, 2013 1 次提交
-
-
由 Michal Privoznik 提交于
Despite our great effort we still parsed qemu log output. We wouldn't notice unless upcoming qemu 1.4 changed the format of the logs slightly. Anyway, now we should gather all interesting knobs like pty paths from monitor. Moreover, since for historical reasons the first console can be just an alias to the first serial port, we need to check this and copy the pty path if that's the case to the first console.
-
- 02 1月, 2013 1 次提交
-
-
由 Michal Privoznik 提交于
This reverts commit 28224c4d which shouldn't be needed at all because with current qemu we obtain all paths from 'query-chardev' output. We ought not parse log output at all anymore.
-
- 30 12月, 2012 1 次提交
-
-
由 Michal Privoznik 提交于
Since 586502189edf9fd0f89a83de96717a2ea826fdb0 qemu commit, the log lines reporting chardev's path has changed from: $ ./x86_64-softmmu/qemu-system-x86_64 -serial pty -serial pty -monitor pty char device redirected to /dev/pts/5 char device redirected to /dev/pts/6 char device redirected to /dev/pts/7 to: $ ./x86_64-softmmu/qemu-system-x86_64 -serial pty -serial pty -monitor pty char device compat_monitor0 redirected to /dev/pts/5 char device serial0 redirected to /dev/pts/6 char device serial1 redirected to /dev/pts/7 However, with current code we are not prepared for such change, which results in us being unable to start any domain.
-
- 24 12月, 2012 2 次提交
-
-
由 Michal Privoznik 提交于
Many internal qemu APIs must find domain object from passed virDomainPtr. And with function Peter's introduced, we can use it instead of copying multiple lines among code.
-
由 Michal Privoznik 提交于
There is no need to hold qemu lock during the whole execution of these two APIs.
-
- 22 12月, 2012 2 次提交
-
-
由 Viktor Mihajlovski 提交于
Since we switched to QMP probing, the object types are spelled out explicitly, i.e. virtio-net-pci. This has effectively disabled the capability detection of s390 virtio devices. The trivial fix is to add the s390 virtio types explicitly to qemuCapsObjectProps. Signed-off-by: NViktor Mihajlovski <mihajlov@linux.vnet.ibm.com>
-
由 Eric Blake 提交于
https://bugzilla.redhat.com/show_bug.cgi?id=888426 The code for doing a block-copy was supposed to track the destination file in drive->mirror, but was set up to do all mallocs prior to starting the copy so that OOM wouldn't leave things partially started. However, the wrong variable was being written; later in the code we silently did 'disk->mirror = mirror' which was still NULL, and thus leaking memory and leaving libvirt to think that the mirror job was never started, which prevented a pivot operation after a copy. Problem introduced in commit 35c7701c. * src/qemu/qemu_driver.c (qemuDomainBlockCopy): Initialize correct variable.
-
- 21 12月, 2012 9 次提交
-
-
由 Daniel P. Berrange 提交于
-
由 Daniel P. Berrange 提交于
-
由 Daniel P. Berrange 提交于
-
由 Daniel P. Berrange 提交于
-
由 Daniel P. Berrange 提交于
-
由 Daniel P. Berrange 提交于
-
由 Daniel P. Berrange 提交于
-
由 Daniel P. Berrange 提交于
-
由 Daniel P. Berrange 提交于
-