- 11 7月, 2016 30 次提交
-
-
由 Chen Hanxiao 提交于
#virsh list --uuid --name 49c765a0-25e7-40d0-964f-dac99724b32c c7 918f1dd6-b19f-412b-ba17-d113bad89af8 f23 Signed-off-by: NChen Hanxiao <chenhanxiao@gmail.com>
-
由 Martin Kletzander 提交于
Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
-
由 Martin Kletzander 提交于
Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
-
由 Martin Kletzander 提交于
Setting up cgroups and other things for all kinds of threads (the emulator thread, vCPU threads, I/O threads) was copy-pasted every time new thing was added. Over time each one of those functions changed a bit differently. So create one function that does all that setup and start using it, starting with I/O thread setup. That will shave some duplicated code and maybe fix some bugs as well. Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
-
由 Daniel P. Berrange 提交于
The code in qemuDomainObjPrivateXMLParseVcpu for parsing the 'idstr' string was comparing the overall boolean result against 0 which was always true qemu/qemu_domain.c: In function 'qemuDomainObjPrivateXMLParseVcpu': qemu/qemu_domain.c:1482:59: error: comparison of constant '0' with boolean expression is always false [-Werror=bool-compare] if ((idstr && virStrToLong_uip(idstr, NULL, 10, &idx)) < 0 || ^ It was further performing two distinct error checks in the same conditional and reporting a single error message, which was misleading in one of the two cases. This splits the conditional check into two parts with distinct error messages and fixes the logic error. Fixes the bug in commit 5184f398 Author: Peter Krempa <pkrempa@redhat.com> Date: Fri Jul 1 14:56:14 2016 +0200 qemu: Store vCPU thread ids in vcpu private data objects Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
-
由 Andrea Bolognani 提交于
An error in virHostCPUGetKVMMaxVCPUs() means we've been unable to access /dev/kvm, or we're running on a platform that doesn't support KVM in the first place. If that's the case, we shouldn't ignore the error and report domcapabilities even though we know the user won't be able to start any KVM guest.
-
由 Andrea Bolognani 提交于
All Linux releases we support (RHEL6 era) include these definitions.
-
由 Andrea Bolognani 提交于
If we don't HAVE_LINUX_KVM_H, we can't query /dev/kvm to discover the limits on the number of vCPUs, so we report an error and return a negative value instead.
-
由 Peter Krempa 提交于
Rather than storing them in an external array store them directly.
-
由 Peter Krempa 提交于
Note the vcpu ID so that once we allow non-contiguous vCPU topologies it will be possible to pair thread id's with the vcpus.
-
由 Peter Krempa 提交于
Further patches will be adding index and modifying the source variables so this will make it more clear.
-
由 Peter Krempa 提交于
Members will be added in follow-up patches.
-
由 Peter Krempa 提交于
Allow to store driver specific data on a per-vcpu basis. Move of the virDomainDef*Vcpus* functions was necessary as virDomainXMLOptionPtr was declared below this block and I didn't want to split the function headers.
-
由 Peter Krempa 提交于
-
由 Peter Krempa 提交于
Status XML tests were done by prepending a constant string to an existing XML. With the planned changes the header will depend on data present in the definition rather than just on the data that was parsed. The first dynamic element in the header will be the vcpu thread list. Reuse and rename qemuXML2XMLPreFormatCallback for gathering the relevant data when checking the active XML parsing and formating and pass the bitmap to a newly crated header generator.
-
由 Peter Krempa 提交于
Most callers make sure that it's never called with an out of range vCPU. Every other caller reports a different error explicitly. Drop the error reporting and clean up some dead code paths.
-
由 Peter Krempa 提交于
-
由 Peter Krempa 提交于
-
由 Peter Krempa 提交于
Our copy functions format and parse XML thus are not able to copy data. Annotate the private data pointers that this is happening.
-
由 Nishith Shah 提交于
The new function works as expected, and matches the current level of autocomplete offered, along with several other improvements like quotes handling, multiple command completion and space handling. Now, it is easy to introduce options completer here. Signed-off-by: NNishith Shah <nishithshah.2211@gmail.com>
-
由 Nishith Shah 提交于
A bool 'report' has been introduced in various functions, which when set to true will produce the error it is suppposed to produce, and when false, will suppress the error. These functions are used in the next patch for auto-completion. Signed-off-by: NNishith Shah <nishithshah.2211@gmail.com>
-
由 Nishith Shah 提交于
Use unsigned int for array indexes and size_t for length variables. Signed-off-by: NNishith Shah <nishithshah.2211@gmail.com>
-
由 Nishith Shah 提交于
Decompose vshCmddefOptParse into two helper functions, vshCmddefOptFill and vshCmddefCheckInternals. vshCmddefCheckInternals checks if the internal command definitions are correct or not. vshCmddefOptFill keeps track of the required options and mandatory arguments through opts_required and opts_need_arg. Signed-off-by: NNishith Shah <nishithshah.2211@gmail.com>
-
由 Fabian Freyer 提交于
-
由 Roman Bogorodskiy 提交于
Before pushing this test, I changed the appropriate args file to pet test-wrap-argv.pl, but forgot to change the xml file, so update it accordingly.
-
由 Fabian Freyer 提交于
-
由 Fabian Freyer 提交于
A simple getopt-based argument parser is added for the /usr/sbin/bhyveload command, loosely based on its argument parser. The boot disk is guessed by iterating over all disks and matching their sources. If any non-default arguments are found, def->os.bootloaderArgs is set accordingly, and the bootloader is treated as a custom bootloader. Custom bootloader are supported by setting the def->os.bootloader and def->os.bootloaderArgs accordingly grub-bhyve is also treated as a custom bootloader. Since we don't get the device map in the native format anyways, we can't reconstruct the complete boot order. While it is possible to check what type the grub boot disk is by checking if the --root argument is "cd" or "hd0,msdos1", and then just use the first disk found, implementing the grub-bhyve argument parser as-is in the grub-bhyve source would mean adding a dependency to argp or duplicating lots of the code of argp. Therefore it's not really worth implementing that now. Signed-off-by: NFabian Freyer <fabian.freyer@physik.tu-berlin.de>
-
由 Fabian Freyer 提交于
A simpe getopt-based argument parser is added for the /usr/sbin/bhyve command, loosely based on its argument parser, which reads the following from the bhyve command line string: * vm name * number of vcpus * memory size * the time offset (UTC or localtime) * features: * acpi * ioapic: While this flag is deprecated in FreeBSD r257423, keep checking for it for backwards compatibiility. * the domain UUID; if not explicitely given, one will be generated. * lpc devices: for now only the com1 and com2 are supported. It is required for these to be /dev/nmdm[\d+][AB], and the slave devices are automatically inferred from these to be the corresponding end of the virtual null-modem cable: /dev/nmdm<N>A <-> /dev/nmdm<N>B * PCI devices: * Disks: these are numbered in the order they are found, for virtio and ahci disks separately. The destination is set to sdX or vdX with X='a'+index; therefore only 'z'-'a' disks are supported. Disks are considered to be block devices if the path starts with /dev, otherwise they are considered to be files. * Networks: only tap devices are supported. Since it isn't possible to tell the type of the network, VIR_DOMAIN_NET_TYPE_ETHERNET is assumed, since it is the most generic. If no mac is specified, one will be generated. Signed-off-by: NFabian Freyer <fabian.freyer@physik.tu-berlin.de>
-
由 Fabian Freyer 提交于
First, remove escaped newlines and split up the string into an argv-list for the bhyve and loader commands, respectively. This is done by iterating over the string splitting it by newlines, and then re-iterating over each line, splitting it by spaces. Since this code reuses part of the code of qemu_parse_command.c (in bhyveCommandLine2argv), add the appropriate copyright notices. Signed-off-by: NFabian Freyer <fabian.freyer@physik.tu-berlin.de>
-
由 Fabian Freyer 提交于
Unconditionally use gnulib's getopt module. This is needed by the bhyve driver to provide a reentrant interface for getopt. Several gnulib headers rely on features.h being included by ctype.h to provide __GNUC_PREREQ, but on systems without glibc, this is not provided. In these cases __GNUC_PREREQ gets redefined to 0, which causes build errors from checks in src/internal.h. Therefore, define __GNUC_PREREQ as early as possible. config-post.h is probably the first header that is included, before any other headers.
-
- 09 7月, 2016 4 次提交
-
-
由 Marc Hartmayer 提交于
As the empty bitmap exists, we should also test it. This patch adds test cases for the procedures 'virBitmapNextSetBit', 'virBitmapLastSetBit', 'virBitmapNextClearBit'. Tested-by: NSascha Silbe <silbe@linux.vnet.ibm.com> Reviewed-by: NSascha Silbe <silbe@linux.vnet.ibm.com> Reviewed-by: NBoris Fiuczynski <fiuczy@linux.vnet.ibm.com> Signed-off-by: NMarc Hartmayer <mhartmay@linux.vnet.ibm.com>
-
由 Marc Hartmayer 提交于
As there is an explicit constructor for the special case of empty bitmaps, we should mention that the generic constructors rejects the creation of empty bitmaps. Reviewed-by: NBoris Fiuczynski <fiuczy@linux.vnet.ibm.com> Reviewed-by: NSascha Silbe <silbe@linux.vnet.ibm.com> Reviewed-by: NBjoern Walk <bwalk@linux.vnet.ibm.com> Signed-off-by: NMarc Hartmayer <mhartmay@linux.vnet.ibm.com>
-
由 Marc Hartmayer 提交于
Before the variable 'bits' was initialized with 0 (commit 3470cd86), the following bug was possible. A function call with an empty bitmap leads to undefined behavior. Because if 'bitmap->map_len == 0' 'unusedBits' will be <= 0 and 'sz == 1'. So the non global and non static variable 'bits' would have never been set. Consequently the check 'bits == 0' results in undefined behavior. This patch clarifies the current version of the function by handling the empty bitmap explicitly. Also, for an empty bitmap there is obviously no bit set so we can just return -1 (indicating no bit set) right away. The explicit check for 'bits == 0' after the loop is unnecessary because we only get to this point if no set bit was found. Reviewed-by: NBoris Fiuczynski <fiuczy@linux.vnet.ibm.com> Reviewed-by: NSascha Silbe <silbe@linux.vnet.ibm.com> Reviewed-by: NBjoern Walk <bwalk@linux.vnet.ibm.com> Signed-off-by: NMarc Hartmayer <mhartmay@linux.vnet.ibm.com>
-
由 Fabian Freyer 提交于
On some systems perl is not necessarily in /usr/bin/perl. Use the perl version in the PATH instead.
-
- 08 7月, 2016 2 次提交
-
-
由 Jiri Denemark 提交于
The spiceMigration flag will never be true if there is no SPICE graphics configured for the domain. https://bugzilla.redhat.com/show_bug.cgi?id=1151723Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
-
由 Jiri Denemark 提交于
Otherwise migration during which we didn't send client_migrate_info QMP command will get stuck waiting for SPICE migration to finish if libvirtd sent the QMP command in a previous migration attempt. Broken by bd7c8a69. https://bugzilla.redhat.com/show_bug.cgi?id=1151723Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
-
- 07 7月, 2016 4 次提交
-
-
由 Daniel P. Berrange 提交于
People debugging guest OS boot processes and reported that the default 128 KB size is too small to capture an entire boot up sequence. Increase the default size to 2 MB which should allow capturing a full boot up even with verbose debugging. Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
-
由 Daniel P. Berrange 提交于
Currently virtlogd has a hardcoded max file size of 128kb and max of 3 backups. This adds two new config parameters to /etc/libvirt/virtlogd.conf to let these be customized. Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
-
由 Peter Krempa 提交于
Support for SMP topology was added by qemu commit dc6b1c09849484fbbc50 prior to 0.12.0, our minimum supported qemu version. $ git describe --tags dc6b1c09849484fbbc50803307e4c7a3d81eab62 v0.11.0-rc0-449-gdc6b1c0 $ git describe --tags --contains dc6b1c09849484fbbc50803307e4c7a3d81eab v0.12.0-rc0~1477
-
由 Michal Privoznik 提交于
After 27726d8c a privateData is allocated in virDomainHostdevDefAlloc(). However, the counter part - freeing them in Free() is missing which leads to the following memory leak: ==6489== 24 bytes in 1 blocks are definitely lost in loss record 684 of 1,003 ==6489== at 0x4C2C070: calloc (vg_replace_malloc.c:623) ==6489== by 0x54B7C94: virAllocVar (viralloc.c:560) ==6489== by 0x5517BE6: virObjectNew (virobject.c:193) ==6489== by 0x1B400121: qemuDomainHostdevPrivateNew (qemu_domain.c:798) ==6489== by 0x5557B24: virDomainHostdevDefAlloc (domain_conf.c:2152) ==6489== by 0x5575578: virDomainHostdevDefParseXML (domain_conf.c:12709) ==6489== by 0x5582292: virDomainDefParseXML (domain_conf.c:16995) ==6489== by 0x5583C98: virDomainDefParseNode (domain_conf.c:17470) ==6489== by 0x5583B07: virDomainDefParse (domain_conf.c:17417) ==6489== by 0x5583B95: virDomainDefParseFile (domain_conf.c:17441) ==6489== by 0x55A3F24: virDomainObjListLoadConfig (virdomainobjlist.c:465) ==6489== by 0x55A43E6: virDomainObjListLoadAllConfigs (virdomainobjlist.c:596) Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
-