- 23 9月, 2013 1 次提交
-
-
由 Peter Krempa 提交于
The ABI compatibility check for domain features didn't check the expanded HyperV and APIC EOI values, thus possibly allowing change in guest ABI. Add the check and use typecasted switch statement to warn developers when adding a new HyperV feature.
-
- 20 9月, 2013 5 次提交
-
-
由 Martin Kletzander 提交于
Since the wait is done during migration (still inside QEMU_ASYNC_JOB_MIGRATION_OUT), the code should enter the monitor as such in order to prohibit all other jobs from interfering in the meantime. This patch fixes bug #1009886 in which qemuDomainGetBlockInfo was waiting on the monitor condition and after GetSpiceMigrationStatus mangled its internal data, the daemon crashed. Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1009886
-
由 Doug Goldstein 提交于
This splits up the version parsing code into a callable API like QEMU help/version string parsing so that we can test it as we need to add additional patterns for newer versions/products.
-
由 Doug Goldstein 提交于
Rather than looking up the path to vmrun each time we call it, look it up once and save it. This sets up the ability for us to detect where the path is on Mac OS X and not have to look it up each time we execute it.
-
由 Doug Goldstein 提交于
The VMware driver supports multiple backends for the VMware Player and VMware Workstation, convert this logic into enum and use VIR_ENUM_IMPL() to provide conversions to and from strings.
-
由 Laine Stump 提交于
This resolves https://bugzilla.redhat.com/show_bug.cgi?id=1008903 The Q35 machinetype has an implicit SATA controller at 00:1F.2 which isn't given the "expected" id of ahci0 by qemu when it's created. The original suggested solution to this problem was to not specify any controller for the disks that use the default controller and just specify "unit=n" instead; qemu should then use the first IDE or SATA controller for the disk. Unfortunately, this "solution" is ignorant of the fact that in the case of SATA disks, the "unit" attribute in the disk XML is actually *not* being used for the unit, but is instead used to specify the "bus" number; each SATA controller has 6 buses, and each bus only allows a single unit. This makes it nonsensical to specify unit='n' where n is anything other than 0. It also means that the only way to connect more than a single device to the implicit SATA controller is to explicitly give the bus names, which happen to be "ide.$n", where $n can be replaced by the disk's "unit" number.
-
- 19 9月, 2013 2 次提交
-
-
由 Christophe Fergeau 提交于
It's not used anywhere, but should be pointing to $sysconfdir/libvirt/libvirtd.conf, not $sysconfdir/libvirtd.conf
-
由 Jonathan Lebon 提交于
In commit 6d41cb87, the interface for virEventAddHandleFunc was changed. This patch updates the documentation for virEventAddHandle to reflect the new significance of the return value. Also, both functions now mention -1 for failure.
-
- 18 9月, 2013 7 次提交
-
-
由 Daniel P. Berrange 提交于
With the existing pkcheck (pid, start time) tuple for identifying the process, there is a race condition, where a process can make a libvirt RPC call and in another thread exec a setuid application, causing it to change to effective UID 0. This in turn causes polkit to do its permission check based on the wrong UID. To address this, libvirt must get the UID the caller had at time of connect() (from SO_PEERCRED) and pass a (pid, start time, uid) triple to the pkcheck program. This fix requires that libvirt is re-built against a version of polkit that has the fix for its CVE-2013-4288, so that libvirt can see 'pkg-config --variable pkcheck_supports_uid polkit-gobject-1' Signed-off-by: NColin Walters <walters@redhat.com> Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
-
由 Daniel P. Berrange 提交于
The polkit access driver will want to use the process start time field. This was already set for network identities, but not for the system identity. Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
-
由 Daniel P. Berrange 提交于
Future improvements to the polkit code will require access to the numeric user ID, not merely user name. Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
-
由 Jiri Denemark 提交于
virDomainSetBlockIoTuneEnsureACL was incorrectly called after we already started a job. As a result of this, the job was not cleaned up when an access driver had forbidden the action.
-
由 Diego Woitasen 提交于
Useful to set custom forwarders instead of using the contents of /etc/resolv.conf. It helps me to setup dnsmasq as local nameserver to resolve VM domain names from domain 0, when domain option is used. Signed-off-by: NDiego Woitasen <diego.woitasen@vhgroup.net> Signed-off-by: NEric Blake <eblake@redhat.com>
-
由 Doug Goldstein 提交于
VMWare Fusion 5 can set the CD-ROM's device name to be 'auto detect' when using the physical drive via 'cdrom-raw' device type. VMWare will then connect to first available host CD-ROM to the virtual machine upon start up according to VMWare documentation. If no device is available, it appears that the device will remain disconnected. To better model this a CD-ROM that is marked as "auto detect" when in the off state would be modeled as the following with this patch: <disk type='block' device='lun'> <source startupPolicy='optional'/> <target dev='hda' bus='ide'/> <address type='drive' controller='0' bus='0' target='0' unit='0'/> </disk> Once the domain transitions to the powered on state, libvirt can populate the remaining source data with what is connected, if anything. However future power cycles, the domain may not always start with that device attached.
-
由 Doug Goldstein 提交于
Currently the XML parser already allows the following syntax: <disk type='block' device='cdrom'> <source startupPolicy='optional'/> <target dev='hda' bus='ide'/> <address type='drive' controller='0' bus='0' target='0' unit='0'/> </disk> But it if the dev value is NULL then it would not have the leading "<source ", resulting in invalid XML.
-
- 17 9月, 2013 21 次提交
-
-
由 Aline Manera 提交于
qemu/KVM also supports a tftp URL while specifying the cdrom ISO image. The xml should be as following: <disk type='network' device='cdrom'> <source protocol='tftp' name='/url/path'> <host name='host.name' port='69'/> </source> </disk> Signed-off-by: NAline Manera <alinefm@br.ibm.com>
-
由 Aline Manera 提交于
The ftps protocol is another protocol supported by qemu/KVM while specifying the cdrom ISO image. The xml should be as following: <disk type='network' device='cdrom'> <source protocol='ftps' name='/url/path'> <host name='host.name' port='990'/> </source> </disk> Signed-off-by: NAline Manera <alinefm@br.ibm.com>
-
由 Aline Manera 提交于
The https protocol is also accepted by qemu/KVM when specifying the cdrom ISO image. The xml should be as following: <disk type='network' device='cdrom'> <source protocol='https' name='/url/path'> <host name='host.name' port='443'/> </source> </disk> Signed-off-by: NAline Manera <alinefm@br.ibm.com>
-
由 Peter Krempa 提交于
GCC 4.8.0+ whines about variable "new" being uninitialized since commit 73bfac0e. This is a false positive as the xmlFreeNode(new) statement can be only reached if new was actually allocated successfully. CC conf/libvirt_conf_la-domain_conf.lo conf/domain_conf.c: In function 'virDomainDefSetMetadata': conf/domain_conf.c:18650:24: error: 'new' may be used uninitialized in this function [-Werror=maybe-uninitialized] xmlFreeNode(new); Reported independently by John Ferlan and Michal Privoznik.
-
由 Eric Blake 提交于
Commit 073e1575 tried to set things up so that 1) generated files to be shipped in the tarball always live in srcdir, and 2) we have no files in SOURCES that depend on any other files with a literal $(srcdir) in the name, because that situation can cause confusing results for the make expansion of $@ depending on whether the file is found locally or via VPATH. But all my testing for that patch was done incrementally, where all the protocol.[ch] files had already been generated prior to the patch and were up-to-date in the srcdir, and thus I missed one case where $@ causes grief in a VPATH build from a fresh checkout: We have a pattern rule for generating remote_protocol.[ch], and what's more, the rule for protocol.c depends on protocol.h AND on the protocol.x file. The pattern for protocol.c is only satisfied via the VPATH lookup for protocol.x, and if protocol.h doesn't yet exist, the VPATH rule kicks in and we end up with a dependency on a file with $(srcdir) in the name. Based on make's rules for $@, this resulted in make building remote_protocol.h into srcdir (where we want it), then remote_protocol.c into builddir (oops, not so good for the tarball), and also causes the build to fail (the compiler can't find the .h if it lives in a different directory than the .c): CC remote/libvirt_driver_remote_la-remote_protocol.lo remote/remote_protocol.c:7:29: fatal error: remote_protocol.h: No such file or directory #include "remote_protocol.h" ^ compilation terminated. As before, the fix is to hard-code the output file to go into srcdir in spite of $@; but since this is in a pattern rule, we are forced to use $@ in the recipe, so the patch is a bit trickier than what was done in commit 073e1575. * src/Makefile.am (%protocol.c, %protocol.h): Force output to srcdir. Signed-off-by: NEric Blake <eblake@redhat.com>
-
由 Peter Krempa 提交于
Eric Blake suggested that we could do a little better in case copying of the metadata to be set fails. With this patch, the old metadata is discarded after the new string is copied successfuly.
-
由 Peter Krempa 提交于
If the ABI compatibility check with the "migratable" user XML is successful, we would leak the originally parsed XML from the user that would not be used in this case. Reported by Ján Tomko.
-
由 Peter Krempa 提交于
-
由 Peter Krempa 提交于
-
由 Peter Krempa 提交于
virDomainSetMetadata when operating on the metadata element was requesting the @key argument to be passed even if @metadata was NULL used to delete the corresponding metadata element. This is not needed as the key is only used when adding the element and matching is done via the XML namespace.
-
由 Peter Krempa 提交于
The functionality wasn't originally implemented. This patch adds the ability to modify domain's XML metadata using the API.
-
由 Peter Krempa 提交于
The virDomainGetMetadata function was designed to support also retrieval of app specific metadata from the <metadata> element. This functionality was never implemented originally.
-
由 Peter Krempa 提交于
-
由 Peter Krempa 提交于
The code to set the metadata in a domain definition is common to live and inactive domains. Factor it out into a common func.
-
由 Peter Krempa 提交于
The function implemented common behavior that can be reused for other hypervisor drivers that use the virDomainObj data structures. Factor out the core into a separate helper func.
-
由 Peter Krempa 提交于
The function implemented common behavior that can be reused for other hypervisor drivers that use the virDomainObj data structures. Factor out the core into a separate helper func.
-
由 Peter Krempa 提交于
In the original implementation of external checkpoints I've mistakenly used the live definition to be stored in the save image. The normal approach is to use the "migratable" definition. This was discovered when commit 07966f6a changed the behavior to use a converted XML from the user to do the compatibility check to fix problem when using the regular machine saving. As the previous patch added a compatibility layer, we can now change the type of the XML in the image. Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1008340
-
由 Peter Krempa 提交于
External checkpoints have a bug in the implementation where they use the normal definition instead of the "migratable" one. This causes errors when the snapshot is being reverted using the workaround method via qemuDomainRestoreFlags() with a custom XML. This issue was introduced when commit 07966f6a changed the code to compare "migratable" XMLs from the user as we should have used migratable in the image too. This patch adds a compatibility layer, so that fixing the snapshot code won't make existing snapshots fail to load. Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1008340
-
由 Doug Goldstein 提交于
CD-ROMs and Floppies are allowed to have no source to imply they are empty or disconnected. Since the LUN type is used for raw CD-ROM access with QEMU (and VMWare in the future), it also needs to allow an empty source when the raw CD-ROM device is disconnected from the domain.
-
由 Ján Tomko 提交于
qemuMigrationEatCookie has flags to control if these should be parsed, but it does not fill mig->flags. These cookies might get leaked if these flags are not set by qemuMigrationBakeCookie. 42 (32 direct, 10 indirect) bytes in 1 blocks are definitely lost in loss record 361 of 662 ==123== by 0x1BA33FCA: qemuMigrationEatCookie (qemu_migration.c:678) ==123== by 0x1BA34A1E: qemuMigrationRun (qemu_migration.c:3108) ==123== by 0x1BA3622B: doNativeMigrate (qemu_migration.c:3343) ==123== by 0x1BA3B408: qemuMigrationPerform (qemu_migration.c:4138)
-
由 Ján Tomko 提交于
https://bugzilla.redhat.com/show_bug.cgi?id=1008619 1,003 bytes in 1 blocks are definitely lost in loss record 599 of 635 ==404== by 0x50728A7: virBufferAddChar (virbuffer.c:185) ==404== by 0x50BC466: virSystemdEscapeName (virsystemd.c:67) ==404== by 0x50BC6B2: virSystemdMakeSliceName (virsystemd.c:108) ==404== by 0x50BC870: virSystemdCreateMachine (virsystemd.c:169) ==404== by 0x5078267: virCgroupNewMachine (vircgroup.c:1498)
-
- 16 9月, 2013 4 次提交
-
-
由 Eric Blake 提交于
Bother those kernel developers. In the latest rawhide, kernel and glibc have now been unified so that <netinet/in.h> and <linux/in6.h> no longer clash; but <linux/if_bridge.h> is still not self-contained. Because of the latest header change, the build is failing with: checking for linux/param.h... no configure: error: You must install kernel-headers in order to compile libvirt with QEMU or LXC support with details: In file included from conftest.c:561:0: /usr/include/linux/in6.h:71:18: error: field 'flr_dst' has incomplete type struct in6_addr flr_dst; We need a workaround to avoid our workaround :) * configure.ac (NETINET_LINUX_WORKAROUND): New test. * src/util/virnetdevbridge.c (includes): Use it. Signed-off-by: NEric Blake <eblake@redhat.com>
-
由 Peter Krempa 提交于
The function existed in two identical instances in lxc and qemu. Move it to vircgroup.c and simplify it. Refactor the callers too.
-
由 Peter Krempa 提交于
Semantics of the libvirt helper are more clear. This change also allows to clean up some pieces of code.
-
由 Peter Krempa 提交于
Explicitly state that some parts of the code may require virFileExists to set or preserve a correct errno so that future modifications don't break.
-