- 21 11月, 2016 11 次提交
-
-
由 Peter Krempa 提交于
Mimic qemu's behavior on the given command line.
-
由 Peter Krempa 提交于
qemu uses this if 'maxcpus' is not present. Do the same in the parsing code.
-
由 Peter Krempa 提交于
Qemu can also use the topology to calculate the total vcpu count. To allow parsing this move the assignment earlier.
-
由 Peter Krempa 提交于
qemu allows following syntax: -smp [cpus=]n[,cores=cores][,threads=threads][,sockets=sockets][,maxcpus=maxcpus] Allow the "cpus" prefix.
-
由 Peter Krempa 提交于
Libvirt's code relies on this fact so don't allow parsing a command line which would have none. Libvirtd would crash in the post parse callback on such config.
-
由 Martin Kletzander 提交于
Because this makes the font the same size as the non-monospaced one, let's change those properties a little bit as well. <pre/> will be shrunk a bit and <code/> inside <p/> or <dd/> will have slightly greyer background. Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
-
由 Martin Kletzander 提交于
Overpass 3.0 has monospaced fonts, so why not have the same font for the monospaced parts of the documentation. Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
-
由 Martin Kletzander 提交于
Since we are using Overpass for the web pages, we might be using the latest version. Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
-
由 Martin Kletzander 提交于
Some of those were duplicate, so remove those. In order to better see such things in the future, sort them so they are "regular, italic, bold, bold-italic, light, light-italic". Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
-
由 Michal Privoznik 提交于
After a944bd92 we gained support for setting gluster debug level. However, due to a space we haven't tested whether augeas file actually works. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
-
由 Martin Kletzander 提交于
After commit f2bf5fbb, MinGW strikes again. Simply print pid as any other place after commit b7d2d4af. Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
-
- 20 11月, 2016 1 次提交
-
-
由 Guido Günther 提交于
Unify the logic we use for looking up daemons and admin binaries. Some lookups prefered $PATH over **/sbin while others left out $PATH entierly. We add **/sbin since non-root users might not have these in their path. This also unbreaks libvirt when built on Debian systems with usrmerge[0] and run on systems without it. [0]: https://packages.debian.org/sid/usrmerge
-
- 18 11月, 2016 1 次提交
-
-
由 Martin Kletzander 提交于
Commit 94cc5778 tried fixing build on systems that did not have SCHED_BATCH or SCHED_IDLE defined. But instead of changing it to conditional support, it rather completely disabled the support for setting any scheduler. Since then, such old systems are not supported, but rather than reverting that commit, let's change that to the conditional support. That way any addition to the list of schedulers can follow the same style so that we're consistent in the future. Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
-
- 16 11月, 2016 4 次提交
-
-
由 John Ferlan 提交于
https://bugzilla.redhat.com/show_bug.cgi?id=1366460 When using the --overwrite switch on a pool-build or pool-create, the The mkfs.ext{2|3|4} commands use mke2fs which requires using the '-F' switch in order to force overwriting the current filesystem on the whole disk. Likewise, the mkfs.vfat command uses mkfs.fat which requires using the '-I' switch in order to force overwriting the current filesystem on the whole disk.
-
由 Jiri Denemark 提交于
Old GCC on CentOS 6 thinks vendor and vendor_id might be used uninitialized in virCPUDefStealModel. The compiler is wrong, though. Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
-
由 Eric Blake 提交于
In particular, this is a quick gnulib fix for a mingw compile error. * .gnulib: Update to latest. Signed-off-by: NEric Blake <eblake@redhat.com>
-
由 Roman Bogorodskiy 提交于
* virNetDevTapCreateInBridgePort() mock: free '*ifname' before strdupping a hardoded value to it * testCompareXMLToArgvFiles(): unref 'conn' object in cleanup * testCompareXMLToArgvHelper(): free 'ldargs' and 'dmargs' in cleanup
-
- 15 11月, 2016 23 次提交
-
-
由 Pino Toscano 提交于
Both transports include "password" in their default authentication methods.
-
由 Pino Toscano 提交于
-
由 Pino Toscano 提交于
Implement in virtNetClient and VirNetSocket the needed functions to expose a new libssh transport, providing all the options that the libssh2 transport supports.
-
由 Pino Toscano 提交于
Implement a new libssh transport, which uses libssh to communicate with remote hosts, and add all the build system stuff (search of libssh, private symbols, etc) to built it. This new transport supports all the common ssh authentication methods, making use of libvirt's auth callbacks for interaction with the user.
-
由 Pino Toscano 提交于
Add a couple of helper functions to check whether one of the default names of SSH keys (as documented in ssh-keygen(1)) exists, and use them to specify a key for the libssh2 transport if none was passed.
-
由 Pino Toscano 提交于
Add a new error domain and number for a new libssh-based transport.
-
由 Pino Toscano 提交于
Add an internal variable to mark the FD as "not owned" by the virNetSocket, in case the internal implementation takes the actual ownership of the descriptor; this avoids a warning when closing the socket, as the FD would be invalid.
-
由 Jiri Denemark 提交于
The API is not used anywhere in the code. Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
-
由 Jiri Denemark 提交于
Guest CPU definitions with mode='custom' and missing <vendor> are expected to run on a host CPU from any vendor as long as the required CPU model can be used as a guest CPU on the host. But even though no CPU vendor was explicitly requested we would sometimes force it due to a bug in virCPUUpdate and virCPUTranslate. The bug would effectively forbid cross vendor migrations even if they were previously working just fine. Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
-
由 Jiri Denemark 提交于
PPC driver needs to convert POWERx_v* legacy CPU model names into POWERx to maintain backward compatibility with existing domains. This patch adds a new step into the guest CPU configuration work flow which CPU drivers can use to convert legacy CPU definitions. Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
-
由 Jiri Denemark 提交于
The API is no longer used anywhere else since it was replaced by a much saner work flow utilizing new APIs that work on virCPUDefPtr directly: virCPUCompare, virCPUUpdate, and virCPUTranslate. Not testing the new work flow caused some bugs to be hidden. This patch reveals them, but doesn't attempt to fix them. To make sure all test still pass after this patch, all affected test results are modified to pretend the tests succeeded. All of the bugs will be fixed in the following commits and the artificial modifications will be reverted. The following is the list of bugs in the new CPU model work flow: - a guest CPU with mode='custom' and missing <vendor/> gets the vendor copied from host's CPU (the vendor should only be copied to host-model CPUs): DO_TEST_UPDATE("x86", "host", "min", VIR_CPU_COMPARE_IDENTICAL) DO_TEST_UPDATE("x86", "host", "pentium3", VIR_CPU_COMPARE_IDENTICAL) DO_TEST_GUESTCPU("x86", "host-better", "pentium3", NULL, 0) - when a guest CPU with mode='custom' needs to be translated into another model because the original model is not supported by a hypervisor, the result will have its vendor set to the vendor of the original CPU model as specified in cpu_map.xml even if the original guest CPU XML didn't contain <vendor/>: DO_TEST_GUESTCPU("x86", "host", "guest", model486, 0) DO_TEST_GUESTCPU("x86", "host", "guest", models, 0) DO_TEST_GUESTCPU("x86", "host-Haswell-noTSX", "Haswell-noTSX", haswell, 0) - legacy POWERx_v* model names are not recognized: DO_TEST_GUESTCPU("ppc64", "host", "guest-legacy", ppc_models, 0) Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
-
由 Jiri Denemark 提交于
The API doesn't change the array so let's make it constant. Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
-
由 Jiri Denemark 提交于
Now that all tests pass NULL as the preferred model, we can just drop that test parameter. Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
-
由 Jiri Denemark 提交于
In some cases preferred model doesn't really do anything since the result remains the same even if it is removed. Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
-
由 Jiri Denemark 提交于
Using a preferred model for guest CPUs with forbidden fallback masks a bug in the code. It would just happily use another CPU model supported by a hypervisor even though it is explicitly forbidden in the CPU XML. This patch temporarily changes the expected result to -2, which is used when the result XML file cannot be found (but it was supposed not to be found since the tested API should have failed). The result will be switched back to -1 few commits later when the original bug gets fixed. Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
-
由 Jiri Denemark 提交于
Using a preferred CPU model which is not in the list of CPU models supported by a hypervisor does not make sense. Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
-
由 Jiri Denemark 提交于
Guest CPUs with match='minimum' should always be updated to match host CPU model. Trying to get different results by supplying preferred models does not make sense. Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
-
由 Jiri Denemark 提交于
The new name is virCPUDataFormat. Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
-
由 Jiri Denemark 提交于
The new name is virCPUDataParse. Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
-
由 Jiri Denemark 提交于
The new name is virCPUModelIsAllowed. Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
-
由 Jiri Denemark 提交于
The new name is virCPUGetModels. Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
-
由 Maxim Nestratov 提交于
It was introduced by commit 7a51d9eb, which started to use monitor commands without job acquiring, which is unsafe and leads to simultaneous access to vm->mon structure by different threads. Crash backtrace is the following (shortened): Program received signal SIGSEGV, Segmentation fault. qemuMonitorSend (mon=mon@entry=0x7f4ef4000d20, msg=msg@entry=0x7f4f18e78640) at qemu/qemu_monitor.c:1011 1011 while (!mon->msg->finished) { 0 qemuMonitorSend () at qemu/qemu_monitor.c:1011 1 0x00007f691abdc720 in qemuMonitorJSONCommandWithFd () at qemu/qemu_monitor_json.c:298 2 0x00007f691abde64a in qemuMonitorJSONCommand at qemu/qemu_monitor_json.c:328 3 qemuMonitorJSONQueryCPUs at qemu/qemu_monitor_json.c:1408 4 0x00007f691abcaebd in qemuMonitorGetCPUInfo g@entry=false) at qemu/qemu_monitor.c:1931 5 0x00007f691ab96863 in qemuDomainRefreshVcpuHalted at qemu/qemu_domain.c:6309 6 0x00007f691ac0af99 in qemuDomainGetStatsVcpu at qemu/qemu_driver.c:18945 7 0x00007f691abef921 in qemuDomainGetStats at qemu/qemu_driver.c:19469 8 qemuConnectGetAllDomainStats at qemu/qemu_driver.c:19559 9 0x00007f693382e806 in virConnectGetAllDomainStats at libvirt-domain.c:11546 10 0x00007f6934470c40 in remoteDispatchConnectGetAllDomainStats at remote.c:6267 (gdb) p mon->msg $1 = (qemuMonitorMessagePtr) 0x0 This change fixes it by calling qemuDomainRefreshVcpuHalted only when job is acquired. Signed-off-by: NMaxim Nestratov <mnestratov@virtuozzo.com>
-
由 Laine Stump 提交于
For machinetypes with a pci-root bus (all legacy PCI), libvirt will make a "fake" reservation for one extra slot prior to assigning addresses to unaddressed PCI endpoint devices in the domain. This will trigger auto-adding of a pci-bridge for the final device to be assigned an address *if that device would have otherwise instead been the last device on the last available pci-bridge*; thus it assures that there will always be at least one slot left open in the domain's bus topology for expansion (which is important both for hotplug (since a new pci-bridge can't be added while the guest is running) as well as for offline additions to the config (since adding a new device might otherwise in some cases require re-addressing existing devices, which we want to avoid)). It's important to note that for the above case (legacy PCI), we must check for the special case of all slots on all buses being occupied *prior to assigning any addresses*, and avoid attempting to reserve the extra address in that case, because there is no free address in the existing topology, so no place to auto-add a pci-bridge for expansion (i.e. it would always fail anyway). Since that condition can only be reached by manual intervention, this is acceptable. For machinetypes with pcie-root (Q35, aarch64 virt), libvirt's methodology for automatically expanding the bus topology is different - pcie-root-ports are plugged into slots (soon to be functions) of pcie-root as needed, and the new endpoint devices are assigned to the single slot in each pcie-root-port. This is done so that the devices are, by default, hotpluggable (the slots of pcie-root don't support hotplug, but the single slot of the pcie-root-port does). Since pcie-root-ports can only be plugged into pcie-root, and we don't auto-assign endpoint devices to the pcie-root slots, this means topology expansion doesn't compete with endpoint devices for slots, so we don't need to worry about checking for all "useful" slots being free *prior* to assigning addresses to new endpoint devices - as a matter of fact, if we attempt to reserve the open slots before the used slots, it can lead to errors. Instead this patch just reserves one slot for a "future potential" PCIe device after doing the assignment for actual devices, but only if the only PCI controller defined prior to starting address assignment was pcie-root, and only if we auto-added at least one PCI controller during address assignment. This assures two things: 1) that reserving the open slots will only be done when the domain is initially defined, never at any time after, and 2) that if the user understands enough about PCI controllers that they are adding them manually, that we don't mess up their plan by adding extras - if they know enough to add one pcie-root-port, or to manually assign addresses such that no pcie-root-ports are needed, they know enough to add extra pcie-root-ports if they want them (this could be called the "libguestfs clause", since libguestfs needs to be able to create domains with as few devices/controllers as possible). This is set to reserve a single free port for now, but could be increased in the future if public sentiment goes in that direction (it's easy to increase later, but essentially impossible to decrease)
-